Searcharxiv⌕ Search

arXiv subjects

Philipp Klaus Krause

Publications and source records attributed to Philipp Klaus Krause.

6 recordsLinked to original sources

C for a tiny system

We have implemented support for Padauk microcontrollers, tiny 8-Bit devices with 60 B to 256 B of RAM, in the Small Device C Compiler (SDCC), showing that the use of (mostly) standard C to program such minimal devices is feasible. We report on our experience and on the difficulties in supporting the hardware multithreading present on some of these devices. To make the devices a better target for C, we propose various enhancements of the architecture, and empirically evaluated their impact on code size.

cs.PL↗

Constant-time connectivity tests

We present implementations of constant-time algorithms for connectivity tests and related problems. Some are implementations of slightly improved variants of previously known algorithms; for other problems we present new algorithms that have substantially better runtime than previously known algorithms (estimates of the distance to and tolerant testers for connectivity, 2-edge-connectivity, 3-edge-connectivity, eulerianity).

cs.DS↗

lospre in linear time

Lifetime-optimal speculative partial redundancy elimination (lospre) is the most advanced currently known redundancy elimination technique. It subsumes many previously known approaches, such as common subexpression elimination, global common subexpression elimination, and loop-invariant code motion. However, previously known lospre algorithms have high time complexity; faster but less powerful approaches have been used and developed further instead. We present a simple linear-time algorithm for lospre for structured programs that can also handle some more general scenarios compared to previous approaches. We prove that our approach is optimal and that the runtime is linear in the number of nodes in the control-flow graph. The condition on programs of being structured is automatically true for many programming languages and for others, such as C, is equivalent to a bound on the number of goto labels per function. An implementation in a mainstream C compiler demonstrates the practical feasibility of our approach. Our approach is based on graph-structure theory and uses tree-decompositions. We also show that, for structured programs, the runtime of deterministic implementations of the previously known MC-PRE and MC-SSAPRE algorithms can be bounded by $O(n^{2.5})$, improving the previous bounds of $O(n^3)$.

cs.PL↗

A lower bound on the tree-width of graphs with irrelevant vertices

For their famous algorithm for the disjoint paths problem, Robertson and Seymour proved that there is a function $f$ such that if the tree-width of a graph $G$ with $k$ pairs of terminals is at least $f(k)$, then $G$ contains a solution-irrelevant vertex (Graph Minors. XXII., JCTB 2012). We give a single-exponential lower bound on $f$. This bound even holds for planar graphs.

cs.DM↗

Irrelevant Vertices for the Planar Disjoint Paths Problem

The Disjoint Paths Problem asks, given a graph $G$ and a set of pairs of terminals $(s_{1},t_{1}),\ldots,(s_{k},t_{k})$, whether there is a collection of $k$ pairwise vertex-disjoint paths linking $s_{i}$ and $t_{i}$, for $i=1,\ldots,k.$ In their $f(k)\cdot n^{3}$ algorithm for this problem, Robertson and Seymour introduced the irrelevant vertex technique according to which in every instance of treewidth greater than $g(k)$ there is an "irrelevant" vertex whose removal creates an equivalent instance of the problem. This fact is based on the celebrated Unique Linkage Theorem, whose - very technical - proof gives a function $g(k)$ that is responsible for an immense parameter dependence in the running time of the algorithm. In this paper we give a new and self-contained proof of this result that strongly exploits the combinatorial properties of planar graphs and achieves $g(k)=O(k^{3/2}\cdot 2^{k}).$ Our bound is radically better than the bounds known for general graphs.

math.CO↗

A lower bound for the tree-width of planar graphs with vital linkages

The disjoint paths problem asks, given an graph G and k + 1 pairs of terminals (s_0,t_0), ...,(s_k,t_k), whether there are k+1 pairwise disjoint paths P_0, ...,P_k, such that P_i connects s_i to t_i. Robertson and Seymour have proven that the problem can be solved in polynomial time if k is fixed. Nevertheless, the constants involved are huge, and the algorithm is far from implementable. The algorithm uses a bound on the tree-width of graphs with vital linkages, and deletion of irrelevant vertices. We give single exponential lower bounds both for the tree-width of planar graphs with vital linkages, and for the size of the grid necessary for finding irrelevant vertices.

cs.DS↗