background preloader

Amit’s A* Pages

Amit’s A* Pages

http://theory.stanford.edu/~amitp/GameProgramming/

Related:  breadth-first searchArtificial IntelligencePathfinding

Articles - Python Artificial Intelligence Python Artificial Intelligence Posted by at 12:04 on 26 Apr 2005. There are 11 Comments I've been interested in artificial intelligence for as long as I can remember. While we obviously don't have fully functional cognitive entities to interact with yet, I thought I would research a bit about what is available. I've chosen to specifically limit my search to applications of artificial intelligence research implemented in the Python programming language.

Introduction to A* In games we often want to find paths from one location to another. We’re not just trying to find the shortest distance; we also want to take into account travel time. Move the blob (start point) and cross (end point) to see the shortest path. To find this path we can use a graph search algorithm, which works when the map is represented as a graph. A* is a popular choice for graph search. Breadth First Search is the simplest of the graph search algorithms, so let’s start there, and we’ll work our way up to A*. Bayes' Theorem Bayes' Theorem Consider Goldie Lockes' predicament. She already has a probability distribution describing her (and Cactus's) beliefs about market demand for ACME's next-generation roadrunner traps. She knows, however, that additional information can be obtained (by, say, market research) that could induce her to revise her prior beliefs. This means that the original or prior distribution, which was derived subjectively, would change. For instance, she believes that the probability of a medium market demand is 0.6.

Nathan Sturtevant, University of Denver 2017Sufficient Conditions for Node Expansion in Bidirectional Heuristic Search, Jurgen Eckerle, Jingwei Chen, Nathan Sturtevant, Sandra Zilles and Robert Holte, International Conference on Automated Planning and Scheduling (ICAPS) [.bib] Value Compression of Pattern Databases, Nathan R. Sturtevant, Ariel Felner and Malte Helmert, AAAI Conference on Artificial Intelligence [.bib] Using Hierarchical Constraints to Avoid Conflicts in Multi-Agent Pathfinding, Thayne T. Walker, David Chan and Nathan R. QLearning - opennero - Q-Learning demo - game platform for Artificial Intelligence research and education Introduction Q-Learning (section 21.2.3 of AIMA) is a type of temporal difference Reinforcement Learning that uses a value function to pick the best action. In this demo, a Q-Learning agent leans to navigate the maze from experience: It learns how likely each possible move (north, south, west, east) at each location of the maze is to lead to the goal. The video below shows how it works; you can also run OpenNERO yourself to test it interactively. Running the Demo

JPS Explained <p><strong>Please note:</strong> this post contains SVG diagrams rendered with javascript. Please view it in a browser to see all the content.</p> There are several related algorithms for finding the shortest path on a uniform-cost 2D grid. The A* algorithm is a common and straightforward optimization of breadth-first (Dijkstra’s) and depth-first searches. There are many extensions to this algorithm, including D*, HPA*, and Rectangular Symmetry Reduction, which all seek to reduce the number of nodes required to find a best path.

Weka (machine learning) Free availability under the GNU General Public License.Portability, since it is fully implemented in the Java programming language and thus runs on almost any modern computing platform.A comprehensive collection of data preprocessing and modeling techniques.Ease of use due to its graphical user interfaces. Weka supports several standard data mining tasks, more specifically, data preprocessing, clustering, classification, regression, visualization, and feature selection. All of Weka's techniques are predicated on the assumption that the data is available as a single flat file or relation, where each data point is described by a fixed number of attributes (normally, numeric or nominal attributes, but some other attribute types are also supported).

Rectangle expansion A∗ pathfinding for grid maps Abstract Search speed, quality of resulting paths and the cost of pre-processing are the principle evaluation metrics of a pathfinding algorithm. In this paper, a new algorithm for grid-based maps, rectangle expansion A∗ (REA∗), is presented that improves the performance of A∗ significantly. REA∗ explores maps in units of unblocked rectangles. All unnecessary points inside the rectangles are pruned and boundaries of the rectangles (instead of individual points within those boundaries) are used as search nodes. Source code used for AI class There is the source code I used throughout the course. There are the following files: PixelAlignment.py - pixel correspondence from scan linesKMeans.py - k-means algorithm as well as guassian and multivariate guassian regressionsSched.py - task network schedulingSmooth.py - Laplacian smoother that also does Markov chains (e.g., 'ABBBAAABA', what's P(A followed by A)ValIter.py - value iteration algorithm for MDP / grid world; you can customize the actions allowed (e.g., N/S/E/W or NE/NW/SE/SW) and combine stochastic and deterministic actions; the state space is only two dimensions so it will not handle a headingLinearFilter.py - convolve and image with a kernelLinearRegression.py - linear regression (find the w0 and w1) I used these programs for the homeworks / exams, so they work for the examples in class.

Programming Collective Intelligence Subscriber Reviews Average Rating: Based on 8 Ratings "Useful book on machine learning, etc." - by Alex Ott on 20-JUL-2011Reviewer Rating: Very good introduction into machine-learning, information retrieval & data mining related questions. Could be used to get high-order overview of corresponding topics, especially by non-CS peoples.Report as Inappropriate Learning From Data-Kaggle Group - Comunitate

Related: