16,141 research outputs found
NILMTK: An Open Source Toolkit for Non-intrusive Load Monitoring
Non-intrusive load monitoring, or energy disaggregation, aims to separate
household energy consumption data collected from a single point of measurement
into appliance-level consumption data. In recent years, the field has rapidly
expanded due to increased interest as national deployments of smart meters have
begun in many countries. However, empirically comparing disaggregation
algorithms is currently virtually impossible. This is due to the different data
sets used, the lack of reference implementations of these algorithms and the
variety of accuracy metrics employed. To address this challenge, we present the
Non-intrusive Load Monitoring Toolkit (NILMTK); an open source toolkit designed
specifically to enable the comparison of energy disaggregation algorithms in a
reproducible manner. This work is the first research to compare multiple
disaggregation approaches across multiple publicly available data sets. Our
toolkit includes parsers for a range of existing data sets, a collection of
preprocessing algorithms, a set of statistics for describing data sets, two
reference benchmark disaggregation algorithms and a suite of accuracy metrics.
We demonstrate the range of reproducible analyses which are made possible by
our toolkit, including the analysis of six publicly available data sets and the
evaluation of both benchmark disaggregation algorithms across such data sets.Comment: To appear in the fifth International Conference on Future Energy
Systems (ACM e-Energy), Cambridge, UK. 201
Code Park: A New 3D Code Visualization Tool
We introduce Code Park, a novel tool for visualizing codebases in a 3D
game-like environment. Code Park aims to improve a programmer's understanding
of an existing codebase in a manner that is both engaging and intuitive,
appealing to novice users such as students. It achieves these goals by laying
out the codebase in a 3D park-like environment. Each class in the codebase is
represented as a 3D room-like structure. Constituent parts of the class
(variable, member functions, etc.) are laid out on the walls, resembling a
syntax-aware "wallpaper". The users can interact with the codebase using an
overview, and a first-person viewer mode. We conducted two user studies to
evaluate Code Park's usability and suitability for organizing an existing
project. Our results indicate that Code Park is easy to get familiar with and
significantly helps in code understanding compared to a traditional IDE.
Further, the users unanimously believed that Code Park was a fun tool to work
with.Comment: Accepted for publication in 2017 IEEE Working Conference on Software
Visualization (VISSOFT 2017); Supplementary video:
https://www.youtube.com/watch?v=LUiy1M9hUK
Infinite Factorial Finite State Machine for Blind Multiuser Channel Estimation
New communication standards need to deal with machine-to-machine
communications, in which users may start or stop transmitting at any time in an
asynchronous manner. Thus, the number of users is an unknown and time-varying
parameter that needs to be accurately estimated in order to properly recover
the symbols transmitted by all users in the system. In this paper, we address
the problem of joint channel parameter and data estimation in a multiuser
communication channel in which the number of transmitters is not known. For
that purpose, we develop the infinite factorial finite state machine model, a
Bayesian nonparametric model based on the Markov Indian buffet that allows for
an unbounded number of transmitters with arbitrary channel length. We propose
an inference algorithm that makes use of slice sampling and particle Gibbs with
ancestor sampling. Our approach is fully blind as it does not require a prior
channel estimation step, prior knowledge of the number of transmitters, or any
signaling information. Our experimental results, loosely based on the LTE
random access channel, show that the proposed approach can effectively recover
the data-generating process for a wide range of scenarios, with varying number
of transmitters, number of receivers, constellation order, channel length, and
signal-to-noise ratio.Comment: 15 pages, 15 figure
Modelling the Developing Mind: From Structure to Change
This paper presents a theory of cognitive change. The theory assumes that the fundamental causes of cognitive change reside in the architecture of mind. Thus, the architecture of mind as specified by the theory is described first. It is assumed that the mind is a three-level universe involving (1) a processing system that constrains processing potentials, (2) a set of specialized capacity systems that guide understanding of different reality and knowledge domains, and (3) a hypecognitive system that monitors and controls the functioning of all other systems. The paper then specifies the types of change that may occur in cognitive development (changes within the levels of mind, changes in the relations between structures across levels, changes in the efficiency of a structure) and a series of general (e.g., metarepresentation) and more specific mechanisms (e.g., bridging, interweaving, and fusion) that bring the changes about. It is argued that different types of change require different mechanisms. Finally, a general model of the nature of cognitive development is offered. The relations between the theory proposed in the paper and other theories and research in cognitive development and cognitive neuroscience is discussed throughout the paper
Recommended from our members
Sequence Classification Restricted Boltzmann Machines With Gated Units
For the classification of sequential data, dynamic Bayesian networks and recurrent neural networks (RNNs) are the preferred models. While the former can explicitly model the temporal dependences between the variables, and the latter have the capability of learning representations. The recurrent temporal restricted Boltzmann machine (RTRBM) is a model that combines these two features. However, learning and inference in RTRBMs can be difficult because of the exponential nature of its gradient computations when maximizing log likelihoods. In this article, first, we address this intractability by optimizing a conditional rather than a joint probability distribution when performing sequence classification. This results in the ``sequence classification restricted Boltzmann machine'' (SCRBM). Second, we introduce gated SCRBMs (gSCRBMs), which use an information processing gate, as an integration of SCRBMs with long short-term memory (LSTM) models. In the experiments reported in this article, we evaluate the proposed models on optical character recognition, chunking, and multiresident activity recognition in smart homes. The experimental results show that gSCRBMs achieve the performance comparable to that of the state of the art in all three tasks. gSCRBMs require far fewer parameters in comparison with other recurrent networks with memory gates, in particular, LSTMs and gated recurrent units (GRUs)
Evolutionary improvement of programs
Most applications of genetic programming (GP) involve the creation of an entirely new function, program or expression to solve a specific problem. In this paper, we propose a new approach that applies GP to improve existing software by optimizing its non-functional properties such as execution time, memory usage, or power consumption. In general, satisfying non-functional requirements is a difficult task and often achieved in part by optimizing compilers. However, modern compilers are in general not always able to produce semantically equivalent alternatives that optimize non-functional properties, even if such alternatives are known to exist: this is usually due to the limited local nature of such optimizations. In this paper, we discuss how best to combine and extend the existing evolutionary methods of GP, multiobjective optimization, and coevolution in order to improve existing software. Given as input the implementation of a function, we attempt to evolve a semantically equivalent version, in this case optimized to reduce execution time subject to a given probability distribution of inputs. We demonstrate that our framework is able to produce non-obvious optimizations that compilers are not yet able to generate on eight example functions. We employ a coevolved population of test cases to encourage the preservation of the function's semantics. We exploit the original program both through seeding of the population in order to focus the search, and as an oracle for testing purposes. As well as discussing the issues that arise when attempting to improve software, we employ rigorous experimental method to provide interesting and practical insights to suggest how to address these issues
Dynamic real-time hierarchical heuristic search for pathfinding.
Movement of Units in Real-Time Strategy (RTS) Games is a non-trivial and challenging task mainly due to three factors which are constraints on CPU and memory usage, dynamicity of the game world, and concurrency. In this paper, we are focusing on finding a novel solution for solving the pathfinding problem in RTS Games for the units which are controlled by the computer. The novel solution combines two AI Planning approaches: Hierarchical Task Network (HTN) and Real-Time Heuristic Search (RHS). In the proposed solution, HTNs are used as a dynamic abstraction of the game map while RHS works as planning engine with interleaving of plan making and action executions. The article provides algorithmic details of the model while the empirical details of the model are obtained by using a real-time strategy game engine called ORTS (Open Real-time Strategy). The implementation of the model and its evaluation methods are in progress however the results of the automatic HTN creation are obtained for a small scale game map
- …