Goto

Collaborating Authors

Systems & Languages


The Graphical Model In Machine Learning

#artificialintelligence

The Graphical model is a subdivision of Machine Learning. It uses a graph to signify a domain problem. A graph states the conditional need structure between random variables. These are being used in many Machine Learning algorithms. In this article, we will learn about the graphical model, its types and application. There are lots of causes to learn about graphical or probabilistic modeling.


Illuminating Diverse Neural Cellular Automata for Level Generation

arXiv.org Artificial Intelligence

We present a method of generating a collection of neural cellular automata (NCA) to design video game levels. While NCAs have so far only been trained via supervised learning, we present a quality diversity (QD) approach to generating a collection of NCA level generators. By framing the problem as a QD problem, our approach can train diverse level generators, whose output levels vary based on aesthetic or functional criteria. To efficiently generate NCAs, we train generators via Covariance Matrix Adaptation MAP-Elites (CMA-ME), a quality diversity algorithm which specializes in continuous search spaces. We apply our new method to generate level generators for several 2D tile-based games: a maze game, Sokoban, and Zelda. Our results show that CMA-ME can generate small NCAs that are diverse yet capable, often satisfying complex solvability criteria for deterministic agents. We compare against a Compositional Pattern-Producing Network (CPPN) baseline trained to produce diverse collections of generators and show that the NCA representation yields a better exploration of level-space.


Symbolic Computation in Software Science: My Personal View

arXiv.org Artificial Intelligence

In this note, I develop my personal view on the scope and relevance of symbolic computation in software science. For this, I discuss the interaction and differences between symbolic computation, software science, automatic programming, mathematical knowledge management, artificial intelligence, algorithmic intelligence, numerical computation, and machine learning. In the discussion of these notions, I allow myself to refer also to papers (1982, 1985, 2001, 2003, 2013) of mine in which I expressed my views on these areas at early stages of some of these fields. It is a great joy to see that the SCSS (Symbolic Computation in Software Science) conference series, this year, experiences its 9th edition. A big Thank You to the organizers, referees, and contributors who kept the series going over the years! The series emerged from a couple of meetings of research groups in Austria, Japan, and Tunisia, including my Theorema Group at RISC, see the home pages of the SCSS series since 2006. In 2012, we decided to define "Symbolic Computation in Software Science" as the scope for our meetings and to establish them as an open conference series with this title. As always, when one puts two terms like "symbolic computation" and "software science" together, one is tempted to read the preposition in between - in our case "in" - as just a set-theoretic union. Pragmatically, this is reasonable if one does not want to embark on scrutinizing discussions. However, since I was one of the initiators of the SCSS series, let me take the opportunity to explain the intention behind SC in SS in this note. Also, this note, for me, is a kind of revision and summary of thoughts I had over the years on the subject of SCSS and related subjects.


Prof. Sch\"onhage's Mysterious Machines

arXiv.org Artificial Intelligence

We give a simple Schönhage's Storage Modification Machine that simulates one iteration of the Rule 110 cellular automaton. This provides an alternative construction to the original Schönhage's proof of the Turing completeness of the eponymous machines.


Blockchain-based Trustworthy Federated Learning Architecture

arXiv.org Artificial Intelligence

Federated learning is an emerging privacy-preserving AI technique where clients (i.e., organisations or devices) train models locally and formulate a global model based on the local model updates without transferring local data externally. However, federated learning systems struggle to achieve trustworthiness and embody responsible AI principles. In particular, federated learning systems face accountability and fairness challenges due to multi-stakeholder involvement and heterogeneity in client data distribution. To enhance the accountability and fairness of federated learning systems, we present a blockchain-based trustworthy federated learning architecture. We first design a smart contract-based data-model provenance registry to enable accountability. Additionally, we propose a weighted fair data sampler algorithm to enhance fairness in training data. We evaluate the proposed approach using a COVID-19 X-ray detection use case. The evaluation results show that the approach is feasible to enable accountability and improve fairness. The proposed algorithm can achieve better performance than the default federated learning setting in terms of the model's generalisation and accuracy.


Python Program to Create a Linked List & Display the Elements in the List

#artificialintelligence

To create a linked list and display the elements in a llinked list. First, we need to create a Node class to store the data and address of the next Node. After that create a LinkedList class with a head instance initialize as None. In LinkedList class, we have to define two methods one for placing the data in the linked list(create()) and another one to display the data of the link list (display()). In the first method(create()) we have to create a new Node and put the data into that node after that link to the previous node to the new node.


Python Program to Implement Queue Data Structure using Linked List

#artificialintelligence

We have to implement Queue using Linked List, In order to do that first we need to implement Linked List after that in the linked list we have to define two methods enqueue() and dequeue(). To implement a linked list you may prefer Python Program to Create a Linked List & Display the Elements in the List. In the enqueue() method we add a new node at the end of the linked list. In the dequeue() method we remove the node from the beginning of the linked list and return the data of the removed node. If there is no node then return'None' and print'Queue is empty'.


Composition Machines: Programming Self-Organising Software Models for the Emergence of Sequential Program Spaces

arXiv.org Artificial Intelligence

We are entering a new era in which software systems are becoming more and more complex and larger. So, the composition of such systems is becoming infeasible by manual means. To address this challenge, self-organising software models represent a promising direction since they allow the (bottom-up) emergence of complex computational structures from simple rules. In this paper, we propose an abstract machine, called the composition machine, which allows the definition and the execution of such models. Unlike typical abstract machines, our proposal does not compute individual programs but enables the emergence of multiple programs at once. We particularly present the machine's semantics and provide examples to demonstrate its operation with well-known rules from the realm of Boolean logic and elementary cellular automata.


Accelerating Evolutionary Neural Architecture Search via Multi-Fidelity Evaluation

arXiv.org Artificial Intelligence

Evolutionary neural architecture search (ENAS) has recently received increasing attention by effectively finding high-quality neural architectures, which however consumes high computational cost by training the architecture encoded by each individual for complete epochs in individual evaluation. Numerous ENAS approaches have been developed to reduce the evaluation cost, but it is often difficult for most of these approaches to achieve high evaluation accuracy. To address this issue, in this paper we propose an accelerated ENAS via multifidelity evaluation termed MFENAS, where the individual evaluation cost is significantly reduced by training the architecture encoded by each individual for only a small number of epochs. The balance between evaluation cost and evaluation accuracy is well maintained by suggesting a multi-fidelity evaluation, which identifies the potentially good individuals that cannot survive from previous generations by integrating multiple evaluations under different numbers of training epochs. For high diversity of neural architectures, a population initialization strategy is devised to produce different neural architectures varying from ResNet-like architectures to Inception-like ones. Experimental results on CIFAR-10 show that the architecture obtained by the proposed MFENAS achieves a 2.39% test error rate at the cost of only 0.6 GPU days on one NVIDIA 2080TI GPU, demonstrating the superiority of the proposed MFENAS over state-of-the-art NAS approaches in terms of both computational cost and architecture quality. The architecture obtained by the proposed MFENAS is then transferred to CIFAR-100 and ImageNet, which also exhibits competitive performance to the architectures obtained by existing NAS approaches. The source code of the proposed MFENAS is available at https://github.com/DevilYangS/MFENAS/.


Classification of Discrete Dynamical Systems Based on Transients

arXiv.org Artificial Intelligence

In order to develop systems capable of artificial evolution, we need to identify which systems can produce complex behavior. We present a novel classification method applicable to any class of deterministic discrete space and time dynamical systems. The method is based on classifying the asymptotic behavior of the average computation time in a given system before entering a loop. We were able to identify a critical region of behavior that corresponds to a phase transition from ordered behavior to chaos across various classes of dynamical systems. To show that our approach can be applied to many different computational systems, we demonstrate the results of classifying cellular automata, Turing machines, and random Boolean networks. Further, we use this method to classify 2D cellular automata to automatically find those with interesting, complex dynamics. We believe that our work can be used to design systems in which complex structures emerge. Also, it can be used to compare various versions of existing attempts to model open-ended evolution (Ray (1991), Ofria et al. (2004), Channon (2006)).