11 research outputs found

    Replicable parallel branch and bound search

    Get PDF
    Combinatorial branch and bound searches are a common technique for solving global optimisation and decision problems. Their performance often depends on good search order heuristics, refined over decades of algorithms research. Parallel search necessarily deviates from the sequential search order, sometimes dramatically and unpredictably, e.g. by distributing work at random. This can disrupt effective search order heuristics and lead to unexpected and highly variable parallel performance. The variability makes it hard to reason about the parallel performance of combinatorial searches. This paper presents a generic parallel branch and bound skeleton, implemented in Haskell, with replicable parallel performance. The skeleton aims to preserve the search order heuristic by distributing work in an ordered fashion, closely following the sequential search order. We demonstrate the generality of the approach by applying the skeleton to 40 instances of three combinatorial problems: Maximum Clique, 0/1 Knapsack and Travelling Salesperson. The overheads of our Haskell skeleton are reasonable: giving slowdown factors of between 1.9 and 6.2 compared with a class-leading, dedicated, and highly optimised C++ Maximum Clique solver. We demonstrate scaling up to 200 cores of a Beowulf cluster, achieving speedups of 100x for several Maximum Clique instances. We demonstrate low variance of parallel performance across all instances of the three combinatorial problems and at all scales up to 200 cores, with median Relative Standard Deviation (RSD) below 2%. Parallel solvers that do not follow the sequential search order exhibit far higher variance, with median RSD exceeding 85% for Knapsack

    Multiple graph matching and applications

    Get PDF
    En aplicaciones de reconocimiento de patrones, los grafos con atributos son en gran medida apropiados. Normalmente, los vértices de los grafos representan partes locales de los objetos i las aristas relaciones entre estas partes locales. No obstante, estas ventajas vienen juntas con un severo inconveniente, la distancia entre dos grafos no puede ser calculada en un tiempo polinómico. Considerando estas características especiales el uso de los prototipos de grafos es necesariamente omnipresente. Las aplicaciones de los prototipos de grafos son extensas, siendo las más habituales clustering, clasificación, reconocimiento de objetos, caracterización de objetos i bases de datos de grafos entre otras. A pesar de la diversidad de aplicaciones de los prototipos de grafos, el objetivo del mismo es equivalente en todas ellas, la representación de un conjunto de grafos. Para construir un prototipo de un grafo todos los elementos del conjunto de enteramiento tienen que ser etiquetados comúnmente. Este etiquetado común consiste en identificar que nodos de que grafos representan el mismo tipo de información en el conjunto de entrenamiento. Una vez este etiquetaje común esta hecho, los atributos locales pueden ser combinados i el prototipo construido. Hasta ahora los algoritmos del estado del arte para calcular este etiquetaje común mancan de efectividad o bases teóricas. En esta tesis, describimos formalmente el problema del etiquetaje global i mostramos una taxonomía de los tipos de algoritmos existentes. Además, proponemos seis nuevos algoritmos para calcular soluciones aproximadas al problema del etiquetaje común. La eficiencia de los algoritmos propuestos es evaluada en diversas bases de datos reales i sintéticas. En la mayoría de experimentos realizados los algoritmos propuestos dan mejores resultados que los existentes en el estado del arte.In pattern recognition, the use of graphs is, to a great extend, appropriate and advantageous. Usually, vertices of the graph represent local parts of an object while edges represent relations between these local parts. However, its advantages come together with a sever drawback, the distance between two graph cannot be optimally computed in polynomial time. Taking into account this special characteristic the use of graph prototypes becomes ubiquitous. The applicability of graphs prototypes is extensive, being the most common applications clustering, classification, object characterization and graph databases to name some. However, the objective of a graph prototype is equivalent to all applications, the representation of a set of graph. To synthesize a prototype all elements of the set must be mutually labeled. This mutual labeling consists in identifying which nodes of which graphs represent the same information in the training set. Once this mutual labeling is done the set can be characterized and combined to create a graph prototype. We call this initial labeling a common labeling. Up to now, all state of the art algorithms to compute a common labeling lack on either performance or theoretical basis. In this thesis, we formally describe the common labeling problem and we give a clear taxonomy of the types of algorithms. Six new algorithms that rely on different techniques are described to compute a suboptimal solution to the common labeling problem. The performance of the proposed algorithms is evaluated using an artificial and several real datasets. In addition, the algorithms have been evaluated on several real applications. These applications include graph databases and group-wise image registration. In most of the tests and applications evaluated the presented algorithms have showed a great improvement in comparison to state of the art applications

    Schema decision trees for heterogeneous JSON arrays

    Get PDF
    Due to the popularity of the JavaScript Object Notation (JSON), a need has arisen for the creation of schema documents for the purpose of validating the content of other JSON documents. Existing automatic schema generation tools, however, have not adequately considered the scenario of an array of JSON objects with different types of structures. These tools work off the assumption that all objects have the same structure, and thus, only generate a single schema combining them together. To address this problem, this thesis looks to improve upon schema generation for heterogeneous JSON arrays. We develop an algorithm to determine a set of keys that identifies what type of structure each element has. These keys are then used as the basis for a schema decision tree. The objective of this tree is to help in the validation process by allowing each element to be compared against a single, more tailored, schema

    最倧クリヌク問題の倚項匏時間的可解性に関する研究

    Get PDF
    いわゆる“最倧クリヌク問題”は兞型的なNP 完党問題であり, 倚項匏時間的に本問題を解くこずはほが䞍可胜であるず匷く予枬されおいる埓っお, 少なくずもどのような条件䞋ならばこのNP 完党問題を倚項匏時間的に解くこずが出来るかを明らかにするこずは重芁な課題であるこれに察し, 平面グラフ, コヌダルグラフ等いく぀かの特殊グラフに察しおは倚項匏時間的可解性が成立するこずが瀺されおいる. しかし䞀般グラフにおいおは, 最倧クリヌク問題が倚項匏時間的可解ずなる条件に぀いお, これたでにおいお有意矩な定量的結果は発衚されおいなかった. そこで本研究では, 先ず極倧クリヌク党列挙アルゎリズムCLIQUES (E. Tomita, A. Tanaka, H. Takahashi: Theoretical Computer Science, 2006) を基にしお, 基本的な最倧クリヌク抜出の深さ優先探玢アルゎリズムを確立した. この基本的アルゎリズムに察しお探玢領域限定操䜜をより匷力化し, 察応したより詳现な堎合分けを䌎った解析を行うこずにより, アルゎリズムが倚項匏時間的に終端する条件を逐次緩和し, 次の定量的な倚項匏時間的可解性条件を䞎えた 即ち, 先ず䞀般グラフにおいおグラフの最倧次数Δ のみを条件ずした, 最倧クリヌク問題に察する以䞋の倚項匏時間的可解性の成立を瀺した. 「節点数n のグラフG = (V,E) の最倧次数Δ が,Δ_0:定数) なる条件を満たすずき, 最倧クリヌク問題はO(n1+d) なる倚項匏時間で可解である. 」さらに本研究においおは, 党節点に察する前蚘条件をより緩和した, 次の拡匵結果も䞎えた. 「サむズn0>_2 なる任意の連結な誘導郚分グラフG(C)( C⊆V ) に察しお, C 䞭の最小次数節点v が, deg(v)_0:定数) を満たすずき, 最倧クリヌク問題はO(nmax(2,1+d)) の倚項匏時間で可解である. 」これは, サむズn0 である連結な誘導郚分グラフのうち, 次数最小の節点を陀き党く無条件ずしたもので, 制限条件の倧きい緩和である. 以䞊本論文では, 最倧クリヌク問題の倚項匏時間的可解性に぀いお, 新しい枠組みを䞎えた.電気通信倧孊201

    29th International Symposium on Algorithms and Computation: ISAAC 2018, December 16-19, 2018, Jiaoxi, Yilan, Taiwan

    Get PDF

    Solving hard subgraph problems in parallel

    Get PDF
    This thesis improves the state of the art in exact, practical algorithms for finding subgraphs. We study maximum clique, subgraph isomorphism, and maximum common subgraph problems. These are widely applicable: within computing science, subgraph problems arise in document clustering, computer vision, the design of communication protocols, model checking, compiler code generation, malware detection, cryptography, and robotics; beyond, applications occur in biochemistry, electrical engineering, mathematics, law enforcement, fraud detection, fault diagnosis, manufacturing, and sociology. We therefore consider both the ``pure'' forms of these problems, and variants with labels and other domain-specific constraints. Although subgraph-finding should theoretically be hard, the constraint-based search algorithms we discuss can easily solve real-world instances involving graphs with thousands of vertices, and millions of edges. We therefore ask: is it possible to generate ``really hard'' instances for these problems, and if so, what can we learn? By extending research into combinatorial phase transition phenomena, we develop a better understanding of branching heuristics, as well as highlighting a serious flaw in the design of graph database systems. This thesis also demonstrates how to exploit two of the kinds of parallelism offered by current computer hardware. Bit parallelism allows us to carry out operations on whole sets of vertices in a single instruction---this is largely routine. Thread parallelism, to make use of the multiple cores offered by all modern processors, is more complex. We suggest three desirable performance characteristics that we would like when introducing thread parallelism: lack of risk (parallel cannot be exponentially slower than sequential), scalability (adding more processing cores cannot make runtimes worse), and reproducibility (the same instance on the same hardware will take roughly the same time every time it is run). We then detail the difficulties in guaranteeing these characteristics when using modern algorithmic techniques. Besides ensuring that parallelism cannot make things worse, we also increase the likelihood of it making things better. We compare randomised work stealing to new tailored strategies, and perform experiments to identify the factors contributing to good speedups. We show that whilst load balancing is difficult, the primary factor influencing the results is the interaction between branching heuristics and parallelism. By using parallelism to explicitly offset the commitment made to weak early branching choices, we obtain parallel subgraph solvers which are substantially and consistently better than the best sequential algorithms

    朚線集距離の宣蚀的意味に基づく階局ずその蚈算に関する研究

    Get PDF
    WebにおけるHTMLデヌタやXMLデヌタ,バむオむンフォマティクスにおけるRNAや糖鎖デヌタのような根付きラベル付き朚(以埌,朚ずいう)ずしお衚珟される朚構造デヌタを比范するこずは,構造デヌタからのデヌタマむニングや機械孊習における重芁な研究の䞀぀である.そのような朚同士の距離ずしお有名なものの䞀぀に朚線集距離がある.朚線集距離は,ノヌドの削陀,挿入,眮換からなる線集操䜜を甚いお,䞀方の根付き朚から他方の朚ぞの倉換に必芁な線集操䜜列の最小コストずしお定匏化される.2぀の朚の間の線集操䜜列は無数に存圚するため,操䜜列をすべお蚈算しお朚線集距離を求める方法は珟実的ではない.そこでTaiは,朚線集距離蚈算の指針ずしお,朚線集距離に宣蚀的意味を䞎えるTaiマッピング(以埌単にマッピングずもいう)を導入した.このTaiマッピングは,先祖子孫関係(および順序朚の堎合は兄匟関係)を保持する朚のノヌド間の䞀察䞀察応であり,Taiマッピングの最小コストは朚線集距離ず䞀臎する.朚線集距離の蚈算時間は,順序朚の堎合はノヌド数nに察しおO(n3)時間であるが,無順序朚の堎合はMAX SNP困難である.䞀方,糖鎖デヌタではノヌドの぀ながりに意味があるためその぀ながりを厩さないような制玄が求められ,XMLデヌタでは根ノヌドから䞀定のノヌドはどの朚にも共通する堎合があり,より葉ノヌドに重点を眮いた距離が求められる.このように,察象によっおは朚線集距離は過床に䞀般的ずなるため,他方では蚈算効率を䞊げるずいう目的の䞋に,宣蚀的意味であるマッピングに制限を加えるこずで朚線集距離のさたざたな倉皮が研究されおいる.特に,RNA解析などで利甚され,削陀の前に挿入を行う朚線集距離でもある朚アラむメント距離の蚈算は,順序朚の堎合はノヌド数nに察しおO(n4)時間,無順序朚の堎合は䞀般にMAX SNP困難であるが,次数が限定されおいる朚のずきは倚項匏時間で蚈算できる.このアラむメント距離は,2぀の朚の超朚ずなるアラむメント朚の最小コストずしお定匏化するこずができ,Taiマッピングに制限を加えた劣制限マッピングの最小コストず䞀臎する.本論文では,たず,マッピングぞの制限をTaiマッピングの階局ずしお捉え,この階局を共通郚分森,特に,共通郚分森䞭のノヌドの接続ず郚分朚の䞊びの芳点から芋盎すこずで,朚線集距離の倉皮の蚈算における本質に぀いお研究する.たた,これらの芳点によっお新たに導入されるマッピングに぀いお,それらの最小コストずなる線集距離の倉皮の時間蚈算時間を解析する.たた,朚アラむメント距離に察しお,森アラむメント構築の高速化を目的ずしお導入されたアンカヌアラむメント問題が提唱されおいる.これは,アンカヌず呌ばれるマッピングを入力ずし,そのアンカヌでの察応を保持したアラむメント朚を構築する問題であるが,このアンカヌはTaiマッピングであり,劣制限マッピングでないマッピングがアンカヌずしお入力されるず朚が構築するこずができない.そこで本論文では,朚アラむメント距離の宣蚀的意味が劣制限マッピングずなるこずの構成的な別蚌明を䞎え,その構成方法を利甚するこずで,アンカヌアラむメント問題の出力を,アラむメント朚が構築できない堎合は”no”を返す圢に定匏化する.たた,それに基づくアンカヌアラむメント距離を定匏化し,アンカヌアラむメント距離ずアラむメント距離を実デヌタをもずに比范する.さらに,順序朚より䞀般的であり,無順序朚より制限された巡回的順序朚を提案し,巡回的順序朚間でのアラむメント距離を蚈算するアルゎリズムを蚭蚈する.最埌に,朚線集距離に関するさたざたな内容ずしお,無順序朚線集距離を蚈算する動的A∗アルゎリズムの蚭蚈,Taiマッピングの根無し朚ぞの拡匵,巡回的順序朚ず次数制限無順序朚のマッピングカヌネルの蚭蚈を行う.無順序朚線集距離を蚈算するアルゎリズムずしおは,既に,耇数の䞋限関数を甚いるHiguchiらのA∗アルゎリズムが導入されおいるが,これには蚈算の重耇が存圚するため,改善の䜙地がある.本論文では,その重耇蚈算を動的蚈画法を甚いお省いた動的A∗アルゎリズムを導入する.たた,実隓により,䞋限関数の効率を確認する.たた,根付き朚Taiマッピングは朚線集距離に察応する重芁な抂念であるが,このTaiマッピングを根無し朚に拡匵するためには,単射であるこずに加えお,先祖子孫関係に代わる条件を導入する必芁がある.そこで,ZhangらがLCA保存マッピングを根無し朚に拡匵する際に甚いた䞭心に着目し,根無し朚のマッピングを導入する.特に,根無し朚ずしおよく衚珟される進化系統暹を特城づける条件である4点条件ず3点条件を朚のトポロゞヌを特城づける条件に倉曎し,それぞれの条件を保存するようなマッピングを導入する.さらに,サポヌトベクタヌマシンを利甚しお朚を分類するための基本的な方法の1぀である朚カヌネルは順序朚に぀いお倚く研究がおこなわれおおり,そのほずんどが,順序朚間のマッピングを数え䞊げるマッピングカヌネルのフレヌムワヌクに分類される.䞀方で,無順序朚のカヌネルは,その蚈算の難しさからほずんど研究がなされおいない.そこで,巡回的順序朚ず,次数を定数Dに制限した無順序朚に察するマッピングカヌネルを蚭蚈し,それらの蚈算時間に぀いお議論する.九州工業倧孊博士孊䜍論文 孊䜍蚘番号情工博甲第332号 孊䜍授䞎幎月日平成30幎3月23日第1ç«  はじめに|第2ç«  朚線集距離ず朚アラむメント距離|第3ç«  共通郚分森に基づくTaiマッピング階局|第4ç«  朚アラむメント距離の蚈算|第5ç«  さたざたな拡匵|第6ç«  結論ず今埌の課題九州工業倧孊平成29幎

    Evolutionary genomics : statistical and computational methods

    Get PDF
    This open access book addresses the challenge of analyzing and understanding the evolutionary dynamics of complex biological systems at the genomic level, and elaborates on some promising strategies that would bring us closer to uncovering of the vital relationships between genotype and phenotype. After a few educational primers, the book continues with sections on sequence homology and alignment, phylogenetic methods to study genome evolution, methodologies for evaluating selective pressures on genomic sequences as well as genomic evolution in light of protein domain architecture and transposable elements, population genomics and other omics, and discussions of current bottlenecks in handling and analyzing genomic data. Written for the highly successful Methods in Molecular Biology series, chapters include the kind of detail and expert implementation advice that lead to the best results. Authoritative and comprehensive, Evolutionary Genomics: Statistical and Computational Methods, Second Edition aims to serve both novices in biology with strong statistics and computational skills, and molecular biologists with a good grasp of standard mathematical concepts, in moving this important field of study forward
    corecore