The Abstract algebra provides a large hierarchy of properties that a collection of objects can satisfy, such as forming an abelian group or a semiring. These classifications can arranged into a broad and typically acy...
详细信息
ISBN:
(纸本)9783031427527;9783031427534
The Abstract algebra provides a large hierarchy of properties that a collection of objects can satisfy, such as forming an abelian group or a semiring. These classifications can arranged into a broad and typically acyclic directed graph. This graph perspective encodes naturally in the typeclass system of theorem provers such as Lean, where nodes can be represented as structures (or records) containing the requisite axioms. This design inevitably needs some form of multiple inheritance;a ring is both a semiring and an abelian group. In the presence of dependently-typed typeclasses that themselves consume typeclasses as type-parameters, such as a vector space typeclass which assumes the presence of an existing additive structure, the implementation details of structure multiple inheritance matter. The type of the outer typeclass is influenced by the path taken to resolve the typeclasses it consumes. Unless all possible paths are considered judgmentally equal, this is a recipe for disaster. This paper provides a concrete explanation of how these situations arise (reduced from real examples in mathlib), compares implementation approaches for multiple inheritance by whether judgmental equality is preserved, and outlines solutions (notably: kernel support for.-reduction of structures) to the problems discovered.
Tylman (Found Sci, 2017) has recently pointed out some striking conceptual and methodological analogies between philosophy and computer science. In this paper, I focus on one of Tylman's most convincing cases, viz...
详细信息
Tylman (Found Sci, 2017) has recently pointed out some striking conceptual and methodological analogies between philosophy and computer science. In this paper, I focus on one of Tylman's most convincing cases, viz. the similarity between Plato's theory of Ideas and the object-oriented programming (OOP) paradigm, and analyze it in some more detail. In particular, I argue that the (Neo)platonic doctrine of the Porphyrian tree corresponds to the fact that most object-oriented programming languages do not support multiple inheritance. This analysis further reinforces Tylman's point regarding the conceptual continuity between classical metaphysical theorizing and contemporary computer science.
The paper is devoted to the mathematical foundations of the linearization algorithms - the method of conflict resolution that occurs in object-oriented programming languages which support multiple inheritance. The mai...
详细信息
ISBN:
(纸本)9786176079132
The paper is devoted to the mathematical foundations of the linearization algorithms - the method of conflict resolution that occurs in object-oriented programming languages which support multiple inheritance. The main object of study is the reflexive-transitive closure of a binary relation. The basic properties of this closure are found: the criterion to be partial order, closure is the closure operator, denotative representations of closure in terms of its properties and as the least solution of some equation (the structure of the set of all solutions of this equation is established).
C3 is an algorithm used by several widely used programming languages such as Python to support multiple inheritance in object oriented programming (OOP): for each class, C3 computes recursively a linear extension of t...
详细信息
C3 is an algorithm used by several widely used programming languages such as Python to support multiple inheritance in object oriented programming (OOP): for each class, C3 computes recursively a linear extension of the poset of all its super classes (the Method Resolution Order, MRO) from user-provided local information (an ordering of the direct super classes). This algorithm can fail if the local information is not consistent. For large hierarchies of classes, as encountered when modeling hierarchies of concepts from abstract algebra in the SageMath computational system, maintaining consistent local information by hand does not scale and leads to unpredictable C3 failures. This paper reports on the authors' work to analyze and circumvent this maintenance nightmare. First, we discovered through extensive computer exploration that there exists posets admitting no consistent local information;we exhibit the smallest one which has 10 elements. Then, we provide and analyze an algorithm that, given a poset and a linear extension, automatically builds local information for C3 in such a way that guarantees that it will never fail, at the price of a slight relaxation of the hypotheses. This algorithm has been used in production in SageMath since 2013.
Typical object-oriented (OO) systems implement several functional features that are interwoven into class hierarchies. In the absence of aspect-oriented techniques to develop and compose these features, developers res...
详细信息
Typical object-oriented (OO) systems implement several functional features that are interwoven into class hierarchies. In the absence of aspect-oriented techniques to develop and compose these features, developers resort to object-oriented design and programming idioms to separate features as well as possible. Given a legacy OO system, discovering existing functional features helps understand the design of the system and extract these features to ease their maintenance and reuse. We want to discover candidate functional features in OO systems. We first define functional features and then discuss the footprints that such features are likely to leave in an OO system. We identify three such footprints: (1) multiple inheritance, (2) delegation, and (3) ad-hoc. We develop a set of algorithms for identifying such footprints in OO code and implemented them for the Java language using Eclipse JDT. In this article, we present the algorithms, and the results of applying the corresponding tools on five open-source systems: FreeMind, JavaWebMail, JHotDraw, JReversePro, and Lucene. Our experimental results show that: (1) the different algorithms can identify interesting and useful candidate functional features in OO systems, (2) they can identify opportunities for refactoring, and (3) they are complementary and could help developers.
Hierarchical Text Classification (HTC) is a useful tool for document categorization based on the taxonomic hierarchy. However, current HTC methods treat labels under each category separately, which makes it difficult ...
详细信息
ISBN:
(纸本)9798350344868;9798350344851
Hierarchical Text Classification (HTC) is a useful tool for document categorization based on the taxonomic hierarchy. However, current HTC methods treat labels under each category separately, which makes it difficult to model multiple inheritance labels. To solve this problem, we propose the Bidirectional Consistency Constraint (BCC) method. BCC aims to better handle multiple inheritance and class imbalance by ensuring hierarchy-compliant text-tolabel mapping through relation consistency constraints and balancing loss calculation. BCC generates hierarchical features using the Multidimensional Directed Acyclic Graph (MDAG) and the Hierarchy Alignment Operator (HAO). Additionally, BCC balances the loss calculation, enabling it to fully learn the features of low-level classes (typical minor classes in HTC). Experimental results have shown that BCC outperforms state-of-the-art approaches.
Many knowledge graphs, especially those that are collaboratively or automatically generated, are prone to noise and cross-domain entries, which can impede domain-specific applications. Existing methods for pruning ina...
详细信息
Many knowledge graphs, especially those that are collaboratively or automatically generated, are prone to noise and cross-domain entries, which can impede domain-specific applications. Existing methods for pruning inaccurate or out-of-domain information from knowledge graphs often rely on topological graph-pruning strategies. However, these approaches have two major drawbacks: they may discard logical structure and semantic information, and they allow multiple inheritance. To address these limitations, this study introduces KGPruning, which is a novel approach that can effectively clean and prune noisy knowledge graphs by guiding tasks with a given set of concepts and automatically generating a domain-specific taxonomy. Specifically, KGPruning employs a graph hierarchy inference method that is based on the Agony model to precisely identify and eliminate noisy entries while striving to preserve the underlying hierarchy of semantic relations as much as possible. Furthermore, to establish a tree-structured taxonomy, KGPruning integrates semantic relations and structural characteristics to effectively eliminate out-of-domain informa-tion and multiple inheritance. Through extensive experimental evaluations conducted on open benchmark datasets as well as large-scale real-world problems, the superior performance of KGPruning over state-of-the-art methods is demonstrated on the task of pruning noisy knowledge graphs.
Wikipedia provides a huge collaboratively made semi-structured taxonomy called Wikipedia category graph (WCG), which can be utilized as a Knowledge Graph (KG) to measure the semantic similarity (SS) between Wikipedia ...
详细信息
Wikipedia provides a huge collaboratively made semi-structured taxonomy called Wikipedia category graph (WCG), which can be utilized as a Knowledge Graph (KG) to measure the semantic similarity (SS) between Wikipedia concepts. Previously, several Most Informative Common Ancestor-based (MICA-based) SS methods have been proposed by intrinsically manipulating the taxonomic structure of WCG. However, some basic structural issues in WCG such as huge size, branching factor and multiple inheritance relations hamper the applicability of traditional MICA-based and multiple inheritance-based approaches in it. Therefore, in this paper, we propose a solution to handle these structural issues and present a new multiple inheritance-based SS approach, called Neighborhood Ancestor Semantic Contribution (NASC). In this approach, firstly, we define the neighborhood of a category (a taxonomic concept in WCG) to define its semantic space. Secondly, we describe the semantic value of a category by aggregating the intrinsic IC-based semantic contribution weights of its semantically relevant multiple ancestors. Thirdly, based on our approach, we propose six different methods to compute the SS between Wikipedia concepts. Finally, we evaluate our methods on gold standard word similarity benchmarks for English, German, Spanish and French languages. The experimental evaluation demonstrates that the proposed NASC-based methods remarkably outperform traditional MICA-based and multiple inheritance-based approaches.
Subtyping and multiple inheritance are the essential features of oo and component-based programming languages, in particular with the presence of interfaces and contracts. More general, the composability of these cons...
详细信息
ISBN:
(纸本)9781450387460
Subtyping and multiple inheritance are the essential features of oo and component-based programming languages, in particular with the presence of interfaces and contracts. More general, the composability of these constructs admitting the subtype relation powers the reusability, modular, flexibility and reliability of oo-based systems. While nominal classes allow annotation of user intention to the types, operations on interfaces and contracts naturally result structural constructs. Structural types are also necessary if we need the types to have value-semantics, so that they can be transferred around in distributed systems. Building a type system that allows the coexistence of nominal and structural classes, while maintaining the usual subtype relation is critical and challenging. We present a subtyping scheme that encodes a class to a directed and edge-labeled graph, which has the convenience to handle recursive types. The names of a class and its superclasses are encoded as tags to label the edges of the graph, turning the nominal construct into a structural one. This encoding allows us to unify the handling of class relations into graph relations. We define the class representation, canonical form, value-identity and subtype relation in the notion of graphs, and justify our subtyping scheme in the cases of multiple inheritance, class intersection and union. Our scheme is general, easy to implement and compatible with most of the existing oo type systems, providing a solid base for further oo language and tool development.
As a supplement to the financing of small- and medium-sized enterprises, bank microfinance companies are nonbank financial institutions, and it has played an active role in maintaining the stability of financial marke...
详细信息
As a supplement to the financing of small- and medium-sized enterprises, bank microfinance companies are nonbank financial institutions, and it has played an active role in maintaining the stability of financial markets. However, in the course of the operation of microfinance companies, due to the lack of careful management and risk control, the problem of risk management has become increasingly prominent. The purpose of this paper is to study the microfinance risk based on polygenic artificial neural network, and it provides theory and practice application for risk management of microcredit enterprises. Taking the risk management of China's microfinance companies as the research object, on the basis of previous studies, this paper analyzes the risks of bank microfinance companies. Secondly, the basic theory of neural network model and its transformation function are introduced, and the learning method of neural network. At the same time, the learning algorithm of neural network and its improved algorithm are mainly introduced. It lays a theoretical foundation for the follow-up empirical research. Then, through the empirical study of data-based risk assessment of microcredit of farmers, the sample data are divided into training samples and test samples for comparison. Then, we use MATLAB software to establish a neural network model for farmers' microcredit risk assessment. Finally, in order to make the neural network model of farmers' credit risk assessment better popularize and apply, and effectively reduce the credit risk of farmers' microcredit. The corresponding policy suggestions are put forward, which proves the validity and applicability of the neural network in the field of farmers' microcredit risk assessment. It provides a good basis for rural credit cooperatives to identify the credit risk of farmers.
暂无评论