Searcharxiv⌕ Search

arXiv subjects

Tomaž Hočevar

Publications and source records attributed to Tomaž Hočevar.

3 recordsLinked to original sources

Is manual software optimization a thing of the past?

Scientific software is increasingly required to process larger datasets while maintaining acceptable execution times. Software optimization traditionally requires substantial expertise in programming, algorithms, and numerical methods. Recent advances in large language models (LLMs) offer the possibility of automating much of this process. We investigate whether LLM-based agents can autonomously achieve substantial performance improvements in scientific software, including mature implementations that have already been extensively optimized by human developers. We tasked an LLM-based agent with optimizing software for three computational problems: t-SNE, single-sample gene set enrichment analysis (ssGSEA), and graphlet counting. Humans defined the scope, correctness criteria, and a verification mechanism, after which the agent worked autonomously, in some cases for several hours. Code maintainers reviewed each resulting implementation and verified its correctness. The optimized implementations were faster in all tested configurations, by up to two orders of magnitude over the fastest existing tools. The improvements included low-level code optimizations, mathematical reformulations, and an entirely new algorithm for graphlet counting. Software optimization can increasingly be delegated to autonomous agents, with the human role shifting from implementing optimizations to deciding which software to optimize, defining objectives, providing verification mechanisms, and ensuring the correctness of the final software. For well-scoped, verifiable problems, we argue that manual software optimization may be a thing of the past.

cs.SE↗

Open Data and Quantitative Techniques for Anthropology of Road Traffic

What kind of questions about human mobility can computational analysis help answer? How to translate the findings into anthropology? We analyzed a publicly available data set of road traffic counters in Slovenia to answer these questions. The data reveals interesting information on how a nation drives, how it travels for tourism, which locations it prefers, what it does during the week and the weekend, and how its habits change during the year. We conducted the empirical analysis in two parts. First, we defined interesting traffic spots and designed computational methods to find them in a large data set. As shown in the paper, traffic counters hint at potential causes and effects in driving practices that we can interpret anthropologically. Second, we used clustering to find groups of similar traffic counters as described by their daily profiles. Clustering revealed the main features of road traffic in Slovenia. Using the two quantitative approaches, we outline the general properties of road traffic in the country and identify and explain interesting outliers. We show that quantitative data analysis only partially answers anthropological questions, but it can be a valuable tool for preliminary research. We conclude that open data are a useful component in an anthropological analysis and that quantitative discovery of small local events can help us pinpoint future fieldwork sites.

cs.CY↗

Combinatorial algorithm for counting small induced graphs and orbits

Graphlet analysis is an approach to network analysis that is particularly popular in bioinformatics. We show how to set up a system of linear equations that relate the orbit counts and can be used in an algorithm that is significantly faster than the existing approaches based on direct enumeration of graphlets. The algorithm requires existence of a vertex with certain properties; we show that such vertex exists for graphlets of arbitrary size, except for complete graphs and $C_4$, which are treated separately. Empirical analysis of running time agrees with the theoretical results.

cs.DS↗