Search
pranavsuri/Artificial-Intelligence-Nanodegree
This repository contains the projects completed as a part of Udacity's Artificial Intelligence Nanodegree. In this project, an extension of a Sudoku solving agent is developed. The project is capable of solving any Classic or Diagonal Sudoku puzzle using three ideas: Constraint Propagation, Search (DFS) and Naked-Twins Strategy. This game-playing agent uses techniques such as Iterative Deepening, Minimax, and Alpha-Beta Pruning to compete in the game of Isolation (a two-player discrete competitive game with perfect information). The different heuristics used are then compared to find the best heuristic.
Software bugs fixed automatically with AI and Big Data
Researchers worked on the Defects4J benchmark data-set – a collection of bugs from object-oriented, open-source programmes, including Java. "We investigated 20 method-invocation related bugs, with trackable bug repositories, from Defects4J," said Fujitsu. It found 29 out of the 49 single-fault-location bugs (59.2%) in the Defects4J data-set are method-invocation related bugs, saying that patches for such bugs typically have a have a large number of candidate patches, often several hundred. "Conventional techniques, such as the heuristic-search-based automated repair tool ACS, essentially do not fix method-invocation related bugs, and can correctly fix only six out of the 29 [20.7%] "By contrast, our technique, fixed method-invocation bugs and generated 15 correct patches out of 29 bugs [51.7%], and overall correctly fixed 26 out of the 49 bugs."
Learning to Race through Coordinate Descent Bayesian Optimisation
Oliveira, Rafael, Rocha, Fernando H. M., Ott, Lionel, Guizilini, Vitor, Ramos, Fabio, Grassi, Valdir Jr
In the automation of many kinds of processes, the observable outcome can often be described as the combined effect of an entire sequence of actions, or controls, applied throughout its execution. In these cases, strategies to optimise control policies for individual stages of the process might not be applicable, and instead the whole policy might have to be optimised at once. On the other hand, the cost to evaluate the policy's performance might also be high, being desirable that a solution can be found with as few interactions as possible with the real system. We consider the problem of optimising control policies to allow a robot to complete a given race track within a minimum amount of time. We assume that the robot has no prior information about the track or its own dynamical model, just an initial valid driving example. Localisation is only applied to monitor the robot and to provide an indication of its position along the track's centre axis. We propose a method for finding a policy that minimises the time per lap while keeping the vehicle on the track using a Bayesian optimisation (BO) approach over a reproducing kernel Hilbert space. We apply an algorithm to search more efficiently over high-dimensional policy-parameter spaces with BO, by iterating over each dimension individually, in a sequential coordinate descent-like scheme. Experiments demonstrate the performance of the algorithm against other methods in a simulated car racing environment.
WHInter: A Working set algorithm for High-dimensional sparse second order Interaction models
Morvan, Marine Le, Vert, Jean-Philippe
Learning sparse linear models with two-way interactions is desirable in many application domains such as genomics. l1-regularised linear models are popular to estimate sparse models, yet standard implementations fail to address specifically the quadratic explosion of candidate two-way interactions in high dimensions, and typically do not scale to genetic data with hundreds of thousands of features. Here we present WHInter, a working set algorithm to solve large l1-regularised problems with two-way interactions for binary design matrices. The novelty of WHInter stems from a new bound to efficiently identify working sets while avoiding to scan all features, and on fast computations inspired from solutions to the maximum inner product search problem. We apply WHInter to simulated and real genetic data and show that it is more scalable and two orders of magnitude faster than the state of the art.
Who Killed Albert Einstein? From Open Data to Murder Mystery Games
Barros, Gabriella A. B., Green, Michael Cerny, Liapis, Antonios, Togelius, Julian
This paper presents a framework for generating adventure games from open data. Focusing on the murder mystery type of adventure games, the generator is able to transform open data from Wikipedia articles, OpenStreetMap and images from Wikimedia Commons into WikiMysteries. Every WikiMystery game revolves around the murder of a person with a Wikipedia article and populates the game with suspects who must be arrested by the player if guilty of the murder or absolved if innocent. Starting from only one person as the victim, an extensive generative pipeline finds suspects, their alibis, and paths connecting them from open data, transforms open data into cities, buildings, non-player characters, locks and keys and dialog options. The paper describes in detail each generative step, provides a specific playthrough of one WikiMystery where Albert Einstein is murdered, and evaluates the outcomes of games generated for the 100 most influential people of the 20th century.
Learning to Search with MCTSnets
Guez, Arthur, Weber, Théophane, Antonoglou, Ioannis, Simonyan, Karen, Vinyals, Oriol, Wierstra, Daan, Munos, Rémi, Silver, David
Planning problems are among the most important and well-studied problems in artificial intelligence. They are most typically solved by tree search algorithms that simulate ahead into the future, evaluate future states, and back-up those evaluations to the root of a search tree. Among these algorithms, Monte-Carlo tree search (MCTS) is one of the most general, powerful and widely used. A typical implementation of MCTS uses cleverly designed rules, optimized to the particular characteristics of the domain. These rules control where the simulation traverses, what to evaluate in the states that are reached, and how to back-up those evaluations. In this paper we instead learn where, what and how to search. Our architecture, which we call an MCTSnet, incorporates simulation-based search inside a neural network, by expanding, evaluating and backing-up a vector embedding. The parameters of the network are trained end-to-end using gradient-based optimisation. When applied to small searches in the well known planning problem Sokoban, the learned search algorithm significantly outperformed MCTS baselines.
Efficient Algorithms for Searching the Minimum Information Partition in Integrated Information Theory
Kitazono, Jun, Kanai, Ryota, Oizumi, Masafumi
The ability to integrate information in the brain is considered to be an essential property for cognition and consciousness. Integrated Information Theory (IIT) hypothesizes that the amount of integrated information ($\Phi$) in the brain is related to the level of consciousness. IIT proposes that to quantify information integration in a system as a whole, integrated information should be measured across the partition of the system at which information loss caused by partitioning is minimized, called the Minimum Information Partition (MIP). The computational cost for exhaustively searching for the MIP grows exponentially with system size, making it difficult to apply IIT to real neural data. It has been previously shown that if a measure of $\Phi$ satisfies a mathematical property, submodularity, the MIP can be found in a polynomial order by an optimization algorithm. However, although the first version of $\Phi$ is submodular, the later versions are not. In this study, we empirically explore to what extent the algorithm can be applied to the non-submodular measures of $\Phi$ by evaluating the accuracy of the algorithm in simulated data and real neural data. We find that the algorithm identifies the MIP in a nearly perfect manner even for the non-submodular measures. Our results show that the algorithm allows us to measure $\Phi$ in large systems within a practical amount of time.
Open Loop Hyperparameter Optimization and Determinantal Point Processes
Dodge, Jesse, Jamieson, Kevin, Smith, Noah A.
Driven by the need for parallelizable hyperparameter optimization methods, this paper studies \emph{open loop} search methods: sequences that are predetermined and can be generated before a single configuration is evaluated. Examples include grid search, uniform random search, low discrepancy sequences, and other sampling distributions. In particular, we propose the use of $k$-determinantal point processes in hyperparameter optimization via random search. Compared to conventional uniform random search where hyperparameter settings are sampled independently, a $k$-DPP promotes diversity. We describe an approach that transforms hyperparameter search spaces for efficient use with a $k$-DPP. In addition, we introduce a novel Metropolis-Hastings algorithm which can sample from $k$-DPPs defined over any space from which uniform samples can be drawn, including spaces with a mixture of discrete and continuous dimensions or tree structure. Our experiments show significant benefits in realistic scenarios with a limited budget for training supervised learners, whether in serial or parallel.
An Improved Tabu Search Heuristic for Static Dial-A-Ride Problem
Ho, Songguang, Nagavarapu, Sarat Chandra, Pandi, Ramesh Ramasamy, Dauwels, Justin
Dial-A-Ride Problem (DARP) addresses the issue of doorto-door transportation service for the customers with high customer satisfaction. Now-a-days, transportation services have increasing need in our daily life, and it started to directly impact our environment as well as quality of living. According to a study conducted by University of British Columbia, the road pricing or pay-per-use is the most effective way to reduce emissions and traffic [1]. DARP has many applications ranging from taxi services to autonomous cargo and ground operations at the airports. DARP is an extension of pickup and delivery problem under the class of vehicle routing problem (VRP) [2]. It is a combinatorial optimization problem with an objective function to minimise the overall cost while satisfying a specific set of constraints such as time-window, maximum waiting time and maximum ride time to ensure high-quality customer service. In this problem, a set of customers makes a request for pickup and drop-off at certain locations within a predefined time-window. An approach to solve DARP based on dynamic programming has been proposed in [3], in which divide and conquer method is used to solve the problem.
An Introduction to Monte Carlo Tree Search
We recently witnessed one of the biggest game AI events in history – Alpha Go became the first computer program to beat the world champion in a game of Go. The publication can be found here. Different techniques from machine learning and tree search have been combined by developers from DeepMind to ...