We introduce a new equivalence on graphs, defined by its symmetry-breaking capability. We first present a framework for various backtracking search algorithms, in which the equivalence is used to prune the search tree. Subsequently, we define the equivalence and an optimization problem with the goal of finding an equivalence partition with the highest pruning potential. We also position the optimization problem into the computational-complexity hierarchy. In particular, we show that the verifier lies between and -complete problems. Striving for a practical usability of the approach, we devise a heuristic method for general graphs and optimal algorithms for trees and cycles.
Effort estimation is an important activity in agile software development. The goal of the presented study was to determine the influence of individual competence on software development effort estimation. In particular, we measured both the accuracy of effort estimation and the duration of the estimation process itself, both for three different estimation methods. The subjects of our study were teams of students of a graduate‐level software engineering course at the University of Ljubljana, Faculty of Computer and Information Science. Based on the grades that individual students attained in their undergraduate study, we classified each team as “high‐competence” or “low‐competence” and additionally as “heterogeneous” or “homogeneous” (the criterion here being the variance of the members' average grades). We found out that there was no significant difference in effort estimation accuracy neither between high‐competence and low‐competence teams nor between heterogeneous and homogeneous teams, regardless of which estimation method was used. However, high‐competence teams spent significantly less time on effort estimation than low‐competence ones. Likewise, for two of the employed estimation methods, heterogeneous teams completed effort estimation in a significantly shorter time than homogeneous teams. These results might benefit both academic and professional community.
Effort estimation is an important activity in agile software development. The goal of the presented study was to determine the influence of individual competence on software development effort estimation. In particular, we measured both the accuracy of effort estimation and the duration of the estimation process itself, both for three different estimation methods. The subjects of our study were teams of students of a graduate-level software engineering course at the University of Ljubljana, Faculty of Computer and Information Science. Based on the grades that individual students attained in their undergraduate study, we classified each team as ‘high-competence’ or ‘low-competence’ and additionally as ‘heterogeneous’ or ‘homogeneous’ (the criterion here being the variance of the members’ average grades). We found out that there was no significant difference in effort estimation accuracy neither between high-competence and low-competence teams nor between heterogeneous and homogeneous teams, regardless of which estimation method was used. However, high-competence teams spent significantly less time on effort estimation than low-competence ones. Likewise, for two of the employed estimation methods, heterogeneous teams completed effort estimation in a significantly shorter time than homogeneous teams. These results might benefit both academic and professional community.
An exploratory equivalent partition (EE partition) of a graph G with nontrivial automorphisms is a partition of its vertex set that can be directly translated into a set of constraints to speed up the search for occurrences of G in an arbitrary host graph. The maximum EE partition problem is to find an EE partition leading to the greatest speedup. However, this problem is NP-hard and the naïve algorithm is only practicable for small symmetry-rich graphs. In this paper, we propose a series of improvements based on computational group theory that vastly increase the algorithm’s range of practicability. For example, the improved algorithm spends less time on the 10-hypercube graph (1024 vertices, 5120 edges, ≈3.7 × 109 automorphisms) than the naïve algorithm does on the 4-hypercube graph (16 vertices, 32 edges, 384 automorphisms). We prove that all improvements maintain the algorithm’s correctness and confirm their contribution to the speed of execution through extensive experimentation.