16

Dennis Soemers' answer is correct: you should use a HashSet or a similar structure to keep track of visited states in BFS Graph Search. However, it doesn't quite answer your question. You're right, that in the worst case, BFS will then require you to store 16! nodes. Even though the insertion and check times in the set will be O(1), you'll still need an ...


10

Start with Andrew Ng's introduction to Machine Learning course on Coursera. There are not many prerequisites for that course, but you will learn how to make some useful things. And, more importantly, it will clearly show you which subjects you need to learn next.


10

To excel in in AI you need a mathematical intuition or point of view. In order to become a full stack AI engineer, it is important that you have a firm understanding of the mathematical foundations of machine learning. My advice to anyone preparing to jump into the field is that learning mathematics is about doing. Remember the 20/80 rule. You need to ...


10

A neuron is said activated when its output is more than a threshold, generally 0. For examples : \begin{equation} y = Relu(a) > 0 \end{equation} when \begin{equation} a = w^Tx+b > 0 \end{equation} Same goes for sigmoid or other activation functions.


8

You can use a set (in the mathematical sense of the word, i.e. a collection that cannot contain duplicates) to store states that you have already seen. The operations you'll need to be able to perform on this are: inserting elements testing if elements are already in there Pretty much every programming language should already have support for a data ...


7

Supervised learning is typically an attempt to learn a mathematical function, $f(\bf X)=\bf y$. For this, you need both the input vector $\bf X$ and the output vector $\bf y$. The model outputs have whatever dimensionality that the target values have. Unsupervised learning models instead learn a structure from the data. A clustering model, for example, is ...


7

While the answers given are generally true, a BFS in the 15-puzzle is not only quite feasible, it was done in 2005! The paper that describes the approach can be found here: http://www.aaai.org/Papers/AAAI/2005/AAAI05-219.pdf A few key points: In order to do this, external memory was required - that is the BFS used the hard drive for storage instead of RAM....


6

Backpropagation is a subroutine often used when training Artificial Neural Networks with a Gradient Descent learning algorithm. Gradient Descent requires computation of the error gradient, i.e. derivatives, of a cost function with respect to the network parameters. BP allows you to find this gradient a lot faster than using naive methods. Reinforcement ...


5

This is fairly boilerplate advice, but, since you're brand new to AI, I'd personally suggest writing a classical Tic-Tac-Toe AI, ideally using minimax. I suggest this because minimax is fundamental to AI, and there are many webpages devoted to this subject, such as How to make your Tic Tac Toe game unbeatable by using the minimax algorithm and Tic Tac Toe: ...


5

AI is quite large in scope and it sits at the intersection of several areas. However, there are a few essential fields or topics that you need to know Set theory Logic Linear algebra Calculus Probability and statistics I would recommend you to first explore the AI algorithms that you might be interested in. I advise you to start with machine learning and ...


5

Well, you are definitely mixing two different things. Here are those bits: The function that deep learning approximates is basically a function that best fits the INPUT DATA points. You should not think about its differentiability or optimization aspects. We don't care what type of function it is; we just want the best fit of input data (ofcourse ...


5

As it can be easily pointed out that true random numbers cannot be generated fully by programming and some random seed is required. This is true. In fact, it is impossible to solve using software. No software-only technique can generate randomness without an initial random seed or support from hardware. This is also true for AI software. No AI design that ...


5

Using a machine learning or AI-powered model once it has been built and tested, is not directly an AI issue, it is just a development issue. As such, you won't find many machine learning tutorials that focus on this part of the work. But they do exist. In essence it is the same as integrating any other function, which might be in a third-party library: ...


4

The most important skill you need is self-discipline. Regarding the mathematical prerequisites, you will need to study statistics, probability theory, calculus, and linear algebra, given that e.g. most machine learning algorithms are highly based on concepts from these areas. Regarding the programming prerequisites, Python and R are usually a good choice, ...


4

The current, cutting edge AI methods all heavily rely on statistical modeling. You might want to browse the Data Science and Cross Validated stacks to see what people are doing, and the types of maths they are using. (This is not really my field, so I'll leave it to the Neural Network and Deep Learning crowd to provide more detail here.) I'd also strongly ...


4

I would suggest you to start with Andrew Ng's Machine Learning course on Coursera. He provides the brief introduction to mathematics necessary for machine learning. Though not complete, it will be enough to cruise through the course. Next carefully learn logistic regression in the course. The sigmoid function will be widely used in neural networks. In the ...


4

The diagram is nice-ish-looking, and it does lack a convenient list of node type descriptions. There is some description in their Zoo Flashcards page. Although the zoo is not a clean presentation in every respect, it is quite instructive in several ways. These are of particular interest. The symbolic shapes and colors visually display the relationship ...


4

The term "activated" is mostly used when talking about activation functions which only outputs a value (except 0) when the input to the activation function is greater than a certain treshold. Especially when discussing ReLU the term "activated" may be used. ReLU will be "activated" when it's output is greater than 0, which is also when it's input is greater ...


4

In many cases, a production-ready model has everything it needs to make predictions without retaining training data. For example: a linear model might only need the coefficients, a decision tree just needs rules/splits, and a neural network needs architecture and weights. The training data isn't required as all the information needed to make a prediction is ...


4

What you have could be well described as a Task Allocation problem, which is studied as part of the planning subfield of AI. Chapters 10 & 11 of Russell & Norvig provide a good overview of this area, although I think they don't talk too much about Task Allocation in particular. There are two basic approaches to this problem: centralized approaches, ...


4

The term you are looking for is stylometry, which is related to a technique in forensic linguistics called writeprint analysis. There are many different techniques to perform stylometric analysis, from the very basic 5-feature analysis classifying features such as the lexicon and idiosyncrasies unique to a person to more complex analysis utilizing neural ...


4

In his book Machine Learning: A Probabilistic Perspective (2012), Kevin P. Murphy defines machine learning as a set of methods that can automatically detect patterns in data, and then use the uncovered patterns to predict future data, or to perform other kinds of decision making under uncertainty (such as planning how to collect more data!) He divides ...


4

Trying to address all the questions asked in the end in the same order Most definitely possible. I would say its best you approach this with segmentation to start with. Just use a free GPU runtime notebook service such as Google Colab or Kaggle Kernels. But you would not directly be able to integrate with the device, you'd have to keep moving input and ...


3

What you need is a tutorial. You need somewhere to start, and a goal. There are a ton of libraries out there, with a variety of supported languages. What matters the most is what you plan to do with your AI. Here are a few examples: JS: Synaptic.js tensorfire (not currently released, looks like it will be good) deeplearn.js Python: Keras CNTK Theano ...


3

Welcome to AI-SE! Please use shorter description next time because it makes it hard to understand what you ask :) I believe you want a neural network that can predict future values of multiple variables given multiple inputs. This belongs to the general time series forecasting problem. One of the best neural network architectures that can handle this ...


3

Ironically the answer is "use whatever system you want." A hashSet is a good idea. However, it turns out that your concerns over memory usage are unfounded. BFS is so bad at these sorts of problems, that it resolves this issue for you. Consider that your BFS requires you to keep a stack of unprocessed states. As you progress into the puzzle, the states ...


3

This is too broad a topic to answer directly. If you are at the beginner stage with neural networks, you will need to learn some basic theory of the maths of neural networks, before the code will make sense. Although it is possible to write neural network code with only a vague understanding of what is going on, it is not a great way to learn for the ...


3

First of all, sigmoid does not output 0 or 1, it outputs any real number in the range between 0 and 1. Furthermore, normal neural networks doesn't output binary values, unless the output layer uses the step function as activation function (which is rare). I'm not really sure if you want the NN to be a classifier or regressor, but it sounds like you want a ...


3

For a foundation, there is nothing better than Cybernetics by Norbert Wiener. It is surprising how advanced this MIT professor was, prior to Turing's thought experiment on a general purpose computing machine or the embodiment of the von Neumann architecture upon which most contemporary computers are based. In key ways his analysis of time series and ...


Only top voted, non community-wiki answers of a minimum length are eligible