Finite automata (FA) are a fundamental computational abstraction that is widely used in practice for various tasks in computer science, linguistics, biology, electrical engineering, and artificial intelligence. Given an input word, an FA maps the word to a result, in the simple case "accept" or "reject", but in general to one of a finite set of results. A question that then arises is: why? Another question is: how can we modify the input word so that it is no longer accepted? One may think that the automaton itself is an adequate explanation of its behaviour, but automata can be very complex and difficult to make sense of directly. In this work, we investigate how to explain the behaviour of an FA on an input word in terms of the word's characters. In particular, we are interested in minimal explanations: what is the minimal set of input characters that explains the result, and what are the minimal changes needed to alter the result? In this paper, we propose an efficient method to determine all minimal explanations for the behaviour of an FA on a particular word. This allows us to give unbiased explanations about which input features are responsible for the result. Experiments show that our approach scales well, even when the underlying problem is challenging.
翻译:有限自动机(FA)是一种基础的计算抽象模型,广泛应用于计算机科学、语言学、生物学、电气工程和人工智能等领域的各类任务中。给定输入词,有限自动机会将其映射为一个结果——在简单情况下为“接受”或“拒绝”,但通常可映射至有限结果集中的任一结果。随之产生的问题是:为何会得到该结果?另一个问题是:如何修改输入词才能使其不再被接受?人们可能认为自动机本身已足以解释其行为,但自动机可能非常复杂,难以直接理解。本工作中,我们研究如何依据输入词的字符来解释有限自动机在特定输入词上的行为。我们特别关注最小解释:解释结果所需的最小输入字符集是什么?改变结果所需的最小修改是什么?本文提出一种高效方法,用于确定有限自动机在特定词上行为的所有最小解释。这使得我们能够就哪些输入特征对结果负责提供无偏解释。实验表明,即使底层问题具有挑战性,我们的方法仍具有良好的可扩展性。