4
$\begingroup$

I would like to do some practical implementation of Artificial Intelligence Planning (of course something a bit simple and easy). Is there any website where I can pick an algorithm, say A* or hill climbing or calculate heuristic values, code it and visualize how it works?

Example: for machine learning, the above i.e. pick a learning method, say Linear Regression, code it and visualize how it works in https://www.kaggle.com/

Note: if you find the tags to be inappropriate for this question, then I am sorry. I couldn't find (or I don't know) the appropriate tag

Any input will be appreciated. Thank you :)

$\endgroup$
  • $\begingroup$ Query the site,you will find out this same question. $\endgroup$ – quintumnia Jan 30 '18 at 18:12
1
$\begingroup$

There are quite a few planning videos of A* and other search variants here: http://movingai.com/astar.html

$\endgroup$
  • $\begingroup$ Hi, Thanks for your response. But I would like to get some hands-on experience, like code it myself (where the dataset will be given) and see how it really works. Do you know any such website? $\endgroup$ – Riya208 Feb 2 '18 at 10:52
  • $\begingroup$ No, unfortunately. Though the author of movingai.com has a github repo of the code for videos being shown on the website. If you're savvy with c++, it has some test domains like grid worlds that you can cut your teeth on. $\endgroup$ – thayne Feb 2 '18 at 15:00
1
$\begingroup$

Not planning, but this is a visual in-browser neural network for your interest:

http://playground.tensorflow.org/

$\endgroup$
  • $\begingroup$ This seems like a very good source. Thank you! But if you come across something for AIP, please leave a comment below. Thank you! $\endgroup$ – Riya208 Feb 3 '18 at 11:50
1
$\begingroup$

https://www.cs.waikato.ac.nz/ml/weka/downloading.html

Great little tool to experiment with various algorithms and compare their efficiencies.

$\endgroup$
1
$\begingroup$

At first, let me summarize what I've understood so far from your question. The concern that AI planning only works in theory but not in real projects is correct. That means, a graph traversal algorithm is able to control a robot but if such an algorithm gets implemented in a practical setting it will fail. So what is wrong with AI planning?

Let us observe first an environment in which planning is able to solve a problem. This well researched domain is called pathplanning and means to search a spatial graph for a sequence of steps. Pathplanning works great, because the number of nodes in the graph is low. If somebody wants to show that planning doesn't work, it is enough to modify the problem slightly. Instead of planning a path the new domain would be to plan the actions of a robot. This results into a much more complicated state space and it's not possible for the A* algorithm to find a plan.

You've asked for working examples in AI planning. The famous one is called Shakey the robot and was introduced in the late 1960s. The algorithm which was used in the project is a hierarchical task planner, better known as STRIPS. Hierarchical planning is able to find a sequence of steps for complicated real life examples. The difference to vanilla planning is, that the domain is structured with a grammar. That means, the action space is restricted to a language and the language is defined by production rules.

Visualizing the principle is possible with L-systems which is a fractal generator for a grammar. What an L-system based planner is doing is to take an existing grammar with motion primitives and creates the state space. In this state space a graph search algorithm is executed which outputs a plan. The advantage of using a grammar is, that the number of nodes is very small compared to searching in the original space.

$\endgroup$
0
$\begingroup$

There are papers and articles that discuss how planning can be simulated in computers. Some examples are listed below. There is no website that is authoritative, peer reviewed, and comprehensive in its coverage of how AI planning works in all the different ways it has been made to work.

To get some practical implementations working along the lines of AI planning, the best choice is to download some frameworks or libraries with examples with the word PLANNING in them and corresponding algorithms along with the papers that describe what they are doing theoretically and try to correlate the code in the algorithm, the code in the example that sets up the run, the words and math in the paper, and the results you get when you run the example before editing a single line of code.

Don't code it. Study working code with those other things side by side first. Modify working code INTO some new thing rather than coding from scratch based on knowledge not yet acquired. There are questions all over the web with people asking, "Why doesn't this work," and strings of compassionate and well intended but desperately blind answers because the code was a wild guess.

There are CudaNN, DeepLearning4J, and TensorFlow examples for each of the approaches listed in the question and some of the references below provide some additional approaches for some of the work going on in robotics and business intelligence.

One last point. Linear regression is not at all planning. If it is listed under that heading, that is a gross mistake. Linear regression is a surface fitting strategy based on an extension of the Pythagorean Theorem and the calculus concepts that permit the location of minimum through either closed form or successive approximation.

Robotics Planning

Prioritized Planning Algorithms for Trajectory Coordination of Multiple Mobile Robots, Cáp, Novák, Kleiner, Selecký, 2014

Benchmarking motion planning algorithms: An extensible infrastructure for analysis and visualization, Moll, Sucan, Kavraki, IEEE Robotics & Automation, 2015

Path planning and trajectory planning algorithms: A general overview, Gasparetto, Boscariol, Lanzutti, 2015

Acquisition of business intelligence from human experience in route planning, Orgaz, Barrero, R-Moreno, 2015

Business Planning

Business intelligence effectiveness and corporate performance management: An empirical analysis, Richards, Yeoh, Chong, 2019

Design of fusion technique-based mining engine for smart business, Sato, Huang, Yen, 2015

$\endgroup$
-1
$\begingroup$

It would be much better if you pick a dataset and visualise it's loss surface , in your case for hill climbing. There are plenty of tools for that , any competent optimization package would provide necessary tools. A* is a graph search algorithm , if you know how basic DFS,BFS work then you can visualize it .

$\endgroup$
  • $\begingroup$ Visualizing Breadth-first search is not very complicated, A Python script can do this in 10 lines of code. If Artificial Intelligence would become so easy, we doesn't need research in the field anymore and can forget everything about agent architectures, neural networks and ontologies. $\endgroup$ – Manuel Rodriguez Oct 31 '18 at 13:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.