<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JCC</journal-id><journal-title-group><journal-title>Journal of Computer and Communications</journal-title></journal-title-group><issn pub-type="epub">2327-5219</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jcc.2017.514005</article-id><article-id pub-id-type="publisher-id">JCC-81321</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  A Parallel Algorithm for the Spanning Forest Problem on Proper Circle Graphs
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Hirotoshi</surname><given-names>Honma</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Yoko</surname><given-names>Nakajima</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Atsushi</surname><given-names>Sasaki</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>National Institute of Technology, Kushiro College, Kushiro, Japan</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>honma@kushiro-ct.ac.jp(HH)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>12</day><month>12</month><year>2017</year></pub-date><volume>05</volume><issue>14</issue><fpage>48</fpage><lpage>55</lpage><history><date date-type="received"><day>6,</day>	<month>October</month>	<year>2017</year></date><date date-type="rev-recd"><day>23,</day>	<month>December</month>	<year>2017</year>	</date><date date-type="accepted"><day>26,</day>	<month>December</month>	<year>2017</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p><html>
 <head></head>
 
  Given a simple graph G with n vertices, m edges and k connected components. The spanning forest problem is to find a spanning tree for each connected component of G. This problem has applications to the electrical power demand problem, computer network design, circuit analysis, etc. In this paper, we present an
  <img src="Edit_57a6846e-a2ad-4291-a637-65b3d4ce2ef3.bmp" alt="" /> time parallel algorithm with
  <img src="Edit_72747d3c-fff2-49f7-8477-2ae039a51424.bmp" alt="" /> processors for constructing a spanning forest on proper circle graph G on EREW PRAM.
 
</html></p></abstract><kwd-group><kwd>Design and Analysis of Parallel Algorithms</kwd><kwd> Proper Circle Graphs</kwd><kwd> Spanning Forest</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Given a simple connected graph G with n vertices, the spanning tree problem is to find a tree that connects all the vertices of G. Generally, there exist a number of different spanning trees in a connected graph. Let T be a tree with n vertices. Then the following statements are equivalent [<xref ref-type="bibr" rid="scirp.81321-ref1">1</xref>] :</p><p>1) T contains no cycles, and has n − 1 edges;</p><p>2) T is connected, and has n − 1 edges;</p><p>3) T is connected, and each edge is a bridge;</p><p>4) Any two vertices of T are connected by exactly one path;</p><p>5)T contains no cycles, but the addition of any new edge creates exactly one cycle.</p><p>Given a simple graph G with n vertices and k components, the spanning forest problem is to find a spanning tree for each component of G. The spanning forest F has n − k edges. This problem has applications, such as electric power systems, computer network design and circuit analysis [<xref ref-type="bibr" rid="scirp.81321-ref1">1</xref>] . A spanning tree can be found in O ( n + m ) time using, for example, the depth-first search or breadth-first search. In recent years, a large number of studies have been made to parallelize known sequential algorithms. For simple graphs, Chin et al. presented that the spanning forest can be found in O ( l o g 2 n ) time using O ( n 2 / l o g 2 n ) processors [<xref ref-type="bibr" rid="scirp.81321-ref2">2</xref>] . Moreover, for a connected graph, Klein and Stein demonstrated that a spanning tree can be found in O ( l o g n ) time with O ( n + m ) processors on the CRCW (Concurrent Read Concurrent Write) PRAM (Parallel Random Access Machine) [<xref ref-type="bibr" rid="scirp.81321-ref3">3</xref>] .</p><p>In general, it is known that more efficient algorithms can be developed by restricting classes of graphs. For instance, Wang et al. proposed an optimal parallel algorithm for constructing a spanning tree on permutation graphs that runs in O ( l o g n ) time using O ( n / log n ) processors on the EREW (Exclusive Read Exclusive Write) PRAM [<xref ref-type="bibr" rid="scirp.81321-ref4">4</xref>] . Wang et al. proposed optimal parallel algorithms for some problems including the spanning tree problem on interval graphs that can be executed in O ( l o g n ) time with O ( n / log n ) processors on the EREW PRAM [<xref ref-type="bibr" rid="scirp.81321-ref5">5</xref>] . Bera et al. presented an optimal parallel algorithms for finding a spanning tree on trapezoid graphs that takes in O ( l o g n ) time using O ( n / log n ) processors on the EREW PRAM [<xref ref-type="bibr" rid="scirp.81321-ref6">6</xref>] . In addition, Honma et al. developed parallel algorithms for finding a spanning tree on circular permutation graphs [<xref ref-type="bibr" rid="scirp.81321-ref7">7</xref>] and circular trapezoid graphs [<xref ref-type="bibr" rid="scirp.81321-ref8">8</xref>] . Both of them take in O ( l o g n ) time using O ( n / log n ) processors on the EREW PRAM.</p><p>Let F be a family of nonempty sets. A simple graph G is the intersection graph of F if there exists a one-to-one correspondence between the vertices of G and the sets in F , such that two vertices in G are adjacent if and only if their corresponding sets have a nonempty intersection. A circle graph is an undirected graph isomorphic to the intersection graph of a finite set of chords in a circle. It is not difficult to show that the class of circle graphs contains all the complete bipartite graphs. Circle graphs have been introduced by Even and Itai in [<xref ref-type="bibr" rid="scirp.81321-ref9">9</xref>] in connection with algorithms that sort permutations by using stacks. This aspect is detailed in the book by Golumbic [<xref ref-type="bibr" rid="scirp.81321-ref10">10</xref>] . Polynomial time algorithms for recognizing graphs in this class appear in [<xref ref-type="bibr" rid="scirp.81321-ref11">11</xref>] [<xref ref-type="bibr" rid="scirp.81321-ref12">12</xref>] . Applications of circle graphs are diverse, and without trying to be exhaustive, we can cite container ship stowage [<xref ref-type="bibr" rid="scirp.81321-ref13">13</xref>] and reconstruction of long DNA strings from short subsequences [<xref ref-type="bibr" rid="scirp.81321-ref14">14</xref>] . The best algorithms for recognizing circle graphs and constructing chord diagrams are by Gabor et al. [<xref ref-type="bibr" rid="scirp.81321-ref12">12</xref>] taking time O(mn) where n is the number of vertices and m the number of edges, and by Spinrad [<xref ref-type="bibr" rid="scirp.81321-ref15">15</xref>] taking time O ( n 2 ) . Gavril [<xref ref-type="bibr" rid="scirp.81321-ref16">16</xref>] presented a O ( n 3 ) time algorithm for finding a maximum independent set of a circle graph. O ( n 2 ) time algorithms were developed by other researchers [<xref ref-type="bibr" rid="scirp.81321-ref17">17</xref>] [<xref ref-type="bibr" rid="scirp.81321-ref18">18</xref>] . Valiente [<xref ref-type="bibr" rid="scirp.81321-ref19">19</xref>] solved the problem in O ( n d ) time and only O ( n ) space, where d is a parameter known as the density of the circle graph. Other problems that are NP-complete for general graphs can also be solved in polynomial time for circle graphs, for example Tiskin [<xref ref-type="bibr" rid="scirp.81321-ref20">20</xref>] has shown an O ( n l o g 2 d ) time algorithm for the maximum clique problem. There are also problems that are NP-complete for both circle graphs and general graphs, such as minimum dominating set [<xref ref-type="bibr" rid="scirp.81321-ref21">21</xref>] .</p><p>In this study, we define proper circle graphs that are subclass of circle graphs. We propose a parallel algorithm for spanning forest problem on a proper circle graphs. It can run in O ( l o g n ) time with O ( n / log n ) processors on the EREW PRAM.</p></sec><sec id="s2"><title>2. Preliminaries</title><sec id="s2_1"><title>2.1. Proper Circle Graphs</title><p>We first illustrate the chord diagram before defining the circle graph. There is a unit circle C such that the consecutive integer i , 1 ≤ i ≤ 2 n are assigned clockwise on the circumference (n is the number of chords). A chord i is the line in a circle C that connects two points a i and b i ( a i &lt; b i ) on C and is denoted by [ a i , b i ] . Without loss of generality, each chord i has two terminal points a i and b i , and all terminal points are distinct. We assume that chords are labeled in increasing order of their corner points b i ’s, i.e., i &lt; j if b i &lt; b j . The geometric representation described above is called the chord diagram. We next introduce the circle graphs. An undirected graph G c is a circle graph if it can be represented by the following chord diagram; each vertex of the graph corresponds to a chord in the chord diagram, and two vertices are adjacent in G c if and only if their chords intersect.</p><p>In the following, we define proper circle graphs. If a i &lt; a j for any two chords i and j ( i &lt; j ) in the chord diagram, such chord diagram is called “proper.” The proper circle graph is a graph that is constructed by a proper chord diagram. <xref ref-type="fig" rid="fig1">Figure 1</xref>(a) illustrates an example of a proper chord diagram D with 12 chords. <xref ref-type="fig" rid="fig1">Figure 1</xref>(b) illustrates a proper circle graph G corresponding to D shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>(a). <xref ref-type="table" rid="table1">Table 1</xref> shows the details of the CD D of <xref ref-type="fig" rid="fig1">Figure 1</xref>.</p></sec><sec id="s2_2"><title>2.2. Expanded Chord Diagram</title><p>In the following, we introduce the expanded chord diagram constructed from a chord diagram for solving the problem easier. An expanded chord diagram can be constructed by transforming chord [ a i , b i ] in chord diagram to a horizontal line segment such that left and right endpoints have values a i and b i , respectively. <xref ref-type="fig" rid="fig2">Figure 2</xref> shows the expanded chord diagram ED constructed from the proper chord diagram D illustrated in <xref ref-type="fig" rid="fig1">Figure 1</xref>.</p></sec></sec><sec id="s3"><title>3. Property of Proper Circle Graph</title><p>We describe some properties on the proper circle graph which are useful for constructing the algorithm for spanning forest problem. For two chords i and j ( i &lt; j ) in the (normal) chord diagram, we say chords i and j are disjoint if b i &lt; a j . Moreover, we say chord j contain i if a j &lt; a i . <xref ref-type="fig" rid="fig3">Figure 3</xref> shows examples of the cases of disjoint and contain.</p><p>The following Lemma 1 is well known [<xref ref-type="bibr" rid="scirp.81321-ref22">22</xref>] .</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Details of proper chord diagram D</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >i</th><th align="center" valign="middle" >1</th><th align="center" valign="middle" >2</th><th align="center" valign="middle" >3</th><th align="center" valign="middle" >4</th><th align="center" valign="middle" >5</th><th align="center" valign="middle" >6</th><th align="center" valign="middle" >7</th><th align="center" valign="middle" >8</th><th align="center" valign="middle" >9</th><th align="center" valign="middle" >10</th><th align="center" valign="middle" >11</th><th align="center" valign="middle" >12</th></tr></thead><tr><td align="center" valign="middle" >a i</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >6</td><td align="center" valign="middle" >11</td><td align="center" valign="middle" >12</td><td align="center" valign="middle" >13</td><td align="center" valign="middle" >16</td><td align="center" valign="middle" >18</td><td align="center" valign="middle" >19</td><td align="center" valign="middle" >20</td></tr><tr><td align="center" valign="middle" >b i</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >7</td><td align="center" valign="middle" >8</td><td align="center" valign="middle" >9</td><td align="center" valign="middle" >10</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >15</td><td align="center" valign="middle" >17</td><td align="center" valign="middle" >21</td><td align="center" valign="middle" >22</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >24</td></tr></tbody></table></table-wrap><p>Lemma 1. Let D be chord diagram and G c be a circle graph corresponding to D. Moreover, let ED be an expanded chord diagram constructed from D. Then, vertices i and j ( i &lt; j ) are adjacent in G c if and only if chord i and j are not disjoint and i does not contains j in ED.</p><p>We can establish the following lemma using Lemma 1.</p><p>Lemma 2. Let D be proper chord diagram and G be a proper circle graph corresponding to D. Moreover, let ED be an expanded chord diagram constructed from D. Then, vertices i and j ( i &lt; j ) are adjacent in G if a j &lt; b i for two chords i and j in ED.</p><p>(Proof) By Lemma 1, vertices v i and v j ( i &lt; j ) are adjacent in G c if and only if chord i and j are not disjoint and i does not contains j in ED. By the definition of proper circle graph, a i &lt; a j for any two chords i and j ( i &lt; j ) in the chord diagram. Therefore, a j &lt; a i (that is, contain) never occur in proper chord diagram. Then, vertices i and j ( i &lt; j ) are adjacent in G if a j &lt; b i for two chords i and j in ED. □</p></sec><sec id="s4"><title>4. Parallel Algorithm for Spanning Forest Problem</title><sec id="s4_1"><title>4.1. Algorithm CSF</title><p>In this section we propose a parallel algorithm for constructing a spanning forest F of a given proper circle graph G. The spanning forest F is constructed from proper chord diagram D corresponding to G. Input of the algorithm is each chord terminal points a i and b i of D. All chords have been sorted by corner point b i in increasing order. Instead of using a sophisticated technique, we propose simple parallel algorithms using only the parallel prefix computation [<xref ref-type="bibr" rid="scirp.81321-ref23">23</xref>] and Brent’s scheduling principle [<xref ref-type="bibr" rid="scirp.81321-ref24">24</xref>] . After executing Step 3, F consists of the spanning forest of proper circle graph G.</p><disp-formula id="scirp.81321-formula1"><graphic  xlink:href="//html.scirp.org/file/5-1730729x74.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.81321-formula2"><graphic  xlink:href="//html.scirp.org/file/5-1730729x75.png"  xlink:type="simple"/></disp-formula><p>Lemma 3. After executing Step 3 of Algorithm CSF, F consists of the spanning forest of proper circle graph G.</p><p>(Proof) In Step 2 of Algorithm CSF, we compute an array M ( i ) for 1 ≤ i ≤ n . M ( i ) is the largest chord number that intersects chord i. This means ( i , M ( i ) ) is an edge in proper circle graph G and M ( i ) is the largest vertex adjacent to i.</p><p>In Step 3 of Algorithm CSF, we add an edge in G if i &gt; M [ i ] . A graph that adds just one edge to a vertex larger than itself from each vertex is connected. Moreover, M ( i ) of root vertices have same value as themselves. Then, after executing Step 3, each component in G is connected and has n ′ vertices and n ′ − 1 edges. By the properties of tree, F is a spanning forest of G. □</p><p><xref ref-type="table" rid="table2">Table 2</xref> and <xref ref-type="fig" rid="fig4">Figure 4</xref> show details of arrays executing Step 3 and constructed F.</p></sec><sec id="s4_2"><title>4.2. Analysis of Algorithm CSF</title><p>We analyze the complexity of Algorithm CSF. In Step 1, we initialize F and M [ i ] . This step can be implemented in O ( l o g n ) time using O ( n / log n ) processors by applying Brent’s scheduling principle [<xref ref-type="bibr" rid="scirp.81321-ref24">24</xref>] . In Steps 2, M [ i ] is</p><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Details of M ( i ) </title></caption><table><tbody><thead><tr><th align="center" valign="middle" >i</th><th align="center" valign="middle" >1</th><th align="center" valign="middle" >2</th><th align="center" valign="middle" >3</th><th align="center" valign="middle" >4</th><th align="center" valign="middle" >5</th><th align="center" valign="middle" >6</th><th align="center" valign="middle" >7</th><th align="center" valign="middle" >8</th><th align="center" valign="middle" >9</th><th align="center" valign="middle" >10</th><th align="center" valign="middle" >11</th><th align="center" valign="middle" >12</th></tr></thead><tr><td align="center" valign="middle" >a i</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >6</td><td align="center" valign="middle" >11</td><td align="center" valign="middle" >12</td><td align="center" valign="middle" >13</td><td align="center" valign="middle" >16</td><td align="center" valign="middle" >18</td><td align="center" valign="middle" >19</td><td align="center" valign="middle" >20</td></tr><tr><td align="center" valign="middle" >b i</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >7</td><td align="center" valign="middle" >8</td><td align="center" valign="middle" >9</td><td align="center" valign="middle" >10</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >15</td><td align="center" valign="middle" >17</td><td align="center" valign="middle" >21</td><td align="center" valign="middle" >22</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >24</td></tr><tr><td align="center" valign="middle" >M i</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >8</td><td align="center" valign="middle" >8</td><td align="center" valign="middle" >9</td><td align="center" valign="middle" >12</td><td align="center" valign="middle" >12</td><td align="center" valign="middle" >12</td><td align="center" valign="middle" >0</td></tr></tbody></table></table-wrap><p>computed in O ( l o g n ) time using O ( n / log n ) processors by applying parallel prefix computation [<xref ref-type="bibr" rid="scirp.81321-ref23">23</xref>] . In Step 3, we obtain a spanning forest of G. This step can be done in O ( l o g n ) time using O ( n / log n ) processors by applying Brent’s scheduling principle. These steps can be implemented in O ( l o g n ) time using O ( n / log n ) processors by applying Brent’s scheduling principle. In addition, neither concurrent read nor concurrent write is caused anywhere, and the same edges are not written more than once. Hence, Algorithm CSF can be executed on EREW PRAM. We have the following theorem.</p><p>Theorem 4. Algorithm CSF constructs a spanning forest of trapezoid graph G in O ( l o g n ) time with O ( n / log n ) processors on EREW PRAM.</p></sec></sec><sec id="s5"><title>5. Concluding Remarks</title><p>In this paper, we presented a parallel algorithm to solve the spanning forest problem on proper circle graphs. This algorithm can be implemented in O ( l o g n ) time with O ( n / log n ) processors on an EREW PRAM computation model using only parallel prefix computation [<xref ref-type="bibr" rid="scirp.81321-ref23">23</xref>] and Brent’s scheduling principle [<xref ref-type="bibr" rid="scirp.81321-ref24">24</xref>] without using a sophisticated technique. Solutions to the spanning problem have applications in electrical power provision, computer network design, circuit analysis, among others. For this reason, we think this paper is also worthy from both a theoretical and algorithmic point of view. In the future, we will continue this research by extending the results to other classes of graphs.</p></sec><sec id="s6"><title>Acknowledgements</title><p>We express many thanks to anonymous referees for their valuable advices on the theory of our attacks and their helpful editorial comments. This work was supported by JSPS KAKENHI Grant Number 25330019 and 17K00324 both.</p></sec><sec id="s7"><title>Cite this paper</title><p>Honma, H., Nakajima, Y. and Sasaki, A. (2017) A Parallel Algorithm for the Spanning Forest Problem on Proper Circle Graphs. Journal of Computer and Communications, 5, 48-55. https://doi.org/10.4236/jcc.2017.514005</p></sec></body><back><ref-list><title>References</title><ref id="scirp.81321-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Wilson, R.J. (1996) Introduction to Graph Theory. Prentice Hall, London.</mixed-citation></ref><ref id="scirp.81321-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Chin, F.Y., Lam, J. and Chen, I. (1982) Efficient Parallel Algorithms for Some Graph Problems. Communications of the ACM, 25, 659-665.https://doi.org/10.1145/358628.358650</mixed-citation></ref><ref id="scirp.81321-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Klein, P. and Stein, C. (1990) A Parallel Algorithm for Eliminating Cycle in Undirected Graphs. Information Processing Letters, 34, 307-312.https://doi.org/10.1016/0020-0190(90)90015-P</mixed-citation></ref><ref id="scirp.81321-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Wang, Y.L., Chen, H.C. and Lee, C.Y. (1995) An   Parallel Algorithm for Constructing a Spanning Tree on Permutation Graphs. Information Processing Letters, 58, 83-87.</mixed-citation></ref><ref id="scirp.81321-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Wang, Y.L., Chiang, K.C. and Yu, M.S. (1998) Optimal Algorithms for Interval Graphs. Journal of Information Science and Engineering, 14, 449-459.</mixed-citation></ref><ref id="scirp.81321-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Bera, D., Pal, M. and Pal, T.K. (2003) An Optimal PRAM Algorithm for a Spanning Tree on Trapezoid Graphs. Journal of Applied Mathematics and Computing, 1-2, 21-29. https://doi.org/10.1007/BF02936178</mixed-citation></ref><ref id="scirp.81321-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Honma, H., Honma, S. and Masuyama, S. (2009) An Optimal Parallel Algorithm for Constructing a Spanning Tree on Circular Permutation Graphs. IEICE Transactions on Information and Systems, E92.D, 141-148. https://doi.org/10.1587/transinf.E92.D.141</mixed-citation></ref><ref id="scirp.81321-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Honma, H., Nakajima, Y., Igarashi, Y. and Masuyama, S. (2014) Algorithm for Finding Maximum Detour Hinge Vertices of Interval Graphs. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, E97.A, 1365-1369. https://doi.org/10.1587/transfun.E97.A.1365</mixed-citation></ref><ref id="scirp.81321-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Even, S. and Itai, A. (1971) Theory of Machines and Computations. Academic Press, New York.</mixed-citation></ref><ref id="scirp.81321-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Golumbic, M.C. (2004) Algorithmic Graph Theory and Perfect Graphs, Volume 57. 2nd Edition, Elsevier, New York.</mixed-citation></ref><ref id="scirp.81321-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Bouchet, A. (1987) Reducing Prime Graphs and Recognizing Circle Graphs. Combinatorica, 7, 243-254. https://doi.org/10.1007/BF02579301</mixed-citation></ref><ref id="scirp.81321-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Gabor, C.P., Supowit, K.J. and Hsu, W.L. (1989) Recognizing Circle Graphs in Polynomial Time. Journal of the ACM, 36, 435-473.https://doi.org/10.1145/65950.65951</mixed-citation></ref><ref id="scirp.81321-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Avriel, M., Penn, M. and Shpirer, N. (2000) Container Ship Stowage Problem: Complexity and Connection to the Coloring of Circle Graphs. Discrete Applied Mathematics, 103, 271-279. https://doi.org/10.1016/S0166-218X(99)00245-0</mixed-citation></ref><ref id="scirp.81321-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Arratia, R., Bollobas, B., Coppersmith, D. and Sorkin, G.B. (2000) Euler Circuits and DNA Sequencing by Hybridization. Discrete Applied Mathematics, 104, 63-96.https://doi.org/10.1016/S0166-218X(00)00190-6</mixed-citation></ref><ref id="scirp.81321-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Spinrad, J. (1994) Recognition of Circle Graphs. Journal of Algorithms, 16, 264-282.https://doi.org/10.1006/jagm.1994.1012</mixed-citation></ref><ref id="scirp.81321-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Gavril, F. (1973) Algorithms for a Maximum Clique and a Maximum Independent Set of a Circle Graph. Networks, 3, 261-273. https://doi.org/10.1002/net.3230030305</mixed-citation></ref><ref id="scirp.81321-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Asano, T., Imai, H. and Mukaiyama, A. (1991) Finding a Maximum Weight Independent Set of a Circle Graph. IEICE Transactions on Fundamentals, E74A, 681-683.</mixed-citation></ref><ref id="scirp.81321-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">O.Goldschmidt, A.T. (1994) An Efficient Algorithm for Finding a Maximum Weight Independent Set of a Circle Graph. IEICE Transactions on Fundamentals, E77A, 1672-1674.</mixed-citation></ref><ref id="scirp.81321-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Valiente, G. (2003) A New Simple Algorithm for the Maximum-Weight Independent Set Problem on Circle Graphs, ISAAC. In: Lecture Notes in Computer Science, Vol. 2906, Springer, Berlin, 129-137.</mixed-citation></ref><ref id="scirp.81321-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Tiskin, A. (2008) Semi-Local String Comparison: Algorithmic Techniques and Applications. Mathematics in Computer Science, 1, 571-603. https://doi.org/10.1007/s11786-007-0033-3</mixed-citation></ref><ref id="scirp.81321-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Keil, J.M. (1993) The Complexity of Domination Problems in Circle Graphs. Discrete Applied Mathematics, 42, 51-63. https://doi.org/10.1016/0166-218X(93)90178-Q</mixed-citation></ref><ref id="scirp.81321-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Ageev, A.A. (1999) Every Circle Graph of Girth at Least 5 Is 3-Colourable. Discrete Mathematics, 195, 229-233. https://doi.org/10.1016/S0012-365X(98)00192-7</mixed-citation></ref><ref id="scirp.81321-ref23"><label>23</label><mixed-citation publication-type="other" xlink:type="simple">Gibbons, A. and Rytter, W. (1988) Efficient Parallel Algorithms. Cambridge University Press, Cambridge.</mixed-citation></ref><ref id="scirp.81321-ref24"><label>24</label><mixed-citation publication-type="other" xlink:type="simple">Brent, R.P. (1974) The Parallel Evaluation of General Arithmetic Expressions. Journal of the ACM, 21, 201-206. https://doi.org/10.1145/321812.321815</mixed-citation></ref></ref-list></back></article>