4
$\begingroup$

So I came across these 2 questions:

For me both problems could be solved easily using traditional algorithmic techniques (as in coding in your typical programming language. I assume that training a NN (or any other machine learning technique) for such sorts of problems will be more time consuming, resource intensive and pointless.

My question is: If I want to solve a problem, how to decide whether it is better to solve algorithmically or by using NN/ML techniques? What are the pros and cons? How can this be done in a systematic way? And if I have to answer someone why I chose a particular domain, how should I answer?

Summary: Choosing between normal computational approach vs abstract approach used in Neural Nets or ML or AI.

Example problems are appreciated :)

$\endgroup$
  • 1
    $\begingroup$ There are two terminologies which are a little bit confusing for instance;Definitive methods,neural networks and artificial intelligence! Also have you tried to analyze current questions critically.... $\endgroup$ – quintumnia Mar 31 '18 at 18:45
  • $\begingroup$ @quintumnia your concern is noted and i have made a few edits to make the question more legible...check if it is understandable now $\endgroup$ – DuttaA Apr 3 '18 at 17:19
  • 1
    $\begingroup$ I edited the question because I wasn't sure what you were asking. please check to see if you agree! $\endgroup$ – k.c. sayz 'k.c sayz' Apr 4 '18 at 0:56
  • 1
    $\begingroup$ Also I removed references to AI as it wasn't related to your question. AI isn't a technique of programming but moreso a goal. $\endgroup$ – k.c. sayz 'k.c sayz' Apr 4 '18 at 0:59
  • $\begingroup$ @k.c.sayz'k.csayz' Great job KC,Keep up the spirit and save the civilisation $\endgroup$ – quintumnia Apr 5 '18 at 8:43
2
$\begingroup$

There are two different problems described in the linked question and your question: optimization and learning.

Optimization

If you are asking about optimization (the second linked question: Search minimum value with learning machine algorithm) you can have 3 different approaches:

  • analytical approach
  • numerial methods
  • metaheuristics

As you suggest, it is usually better to try them from the first to the last one. It is common that the first approach is unfeasible for optimizing for target function, but very often you can use either mathematical optimization for some specific classes of problems (e.g. linear/quadratic programming) or iterative methods (e.g. conjugate gradient method). Only after considering this approaches it makes sense for the third class of approaches, genetic algorithms being a notable example, which is often classified as an AI approach.

Learning

If you are asking about learning, then the first linked question (Ideas on how to make a neural net learn how to split sequence into sub sequences) seems to be intended as an example. However it doesn't make clear what the problem is, as the target function seems to be obvious, so no learning is needed.

In this case it also makes sense to first try to pin down the problem mathematically and resort to machine learning if it is impossible and if you have the data (input/output examples).

$\endgroup$
  • $\begingroup$ Well I know all that...I am asking how do I convince people of my approach..How to find the pros and cons...How do I know one approach is better in this case over other in a strict mathematical sense and not intuitive sense $\endgroup$ – DuttaA Apr 10 '18 at 2:23
  • $\begingroup$ @DuttA There are no pros on using less accurate but harder approach. If your question concerns convincing people you might want to try IPS SE. $\endgroup$ – BartoszKP Apr 13 '18 at 10:31
  • $\begingroup$ Well say I am writing a research paper...should I write just because i think so that is why I am using the method...I atleast have to show some form of evidence or negative logic or anything for that matter $\endgroup$ – DuttaA Apr 13 '18 at 10:33
  • $\begingroup$ Your answer is actually the best among all....you should include some parts of @DukeZhou's answer so i can accept and upvote $\endgroup$ – DuttaA Apr 13 '18 at 10:40
  • $\begingroup$ @DuttaA In case of a paper you either cite someone who has already tested numerous approaches and had shown which one seems the best or you propose the simplest method that leads to acceptable results. Occams' razor. $\endgroup$ – BartoszKP Apr 15 '18 at 20:10
1
$\begingroup$

When we apply supervised learning to a problem, we are already systematizing the approach. A human has decided that a function exists (mapping from inputs to unique output) and that the offered features are the only ones that need be considered. The learning then goes ahead to find the best solution given those constraints. Unsupervised learning is a bit more general, searching for associations or relations that might not necessarily be functions. A neural net is not yet capable of generalizing and asking for more information, it can only become more specific unless a human intervenes.

Everything depends on the detail of the problem. If it is clear that a function must exist then we can set a NN to find that function. Many other problems are more difficult - a company is losing money and you have data but halfway there was a change in CEO, so human reasoning has to be mixed in to deal with the situation. The human can modify the architecture of the NN to introduce dummy variables, but the NN cannot do this by itself.

So your answer really is "I chose this method because of the (lack of) need for me to artificially constrain the approach to the problem."

$\endgroup$
  • $\begingroup$ I have edited the question...due to lack of clarity you may have misunderstood the question..but basically I am asking is when to choose normal programming, hardiwred calculation over NN/Ai and vice versa $\endgroup$ – DuttaA Apr 3 '18 at 17:21
  • 1
    $\begingroup$ Hmm, the edits do not change my understanding of the situation, so my answer remains the same. I'm sure you will get other answers more suitable to your purpose and these will be voted up accordingly. Good luck! $\endgroup$ – Colin Beckingham Apr 4 '18 at 5:19
1
$\begingroup$

fwiw, with the basic, non-trivial M-game, I have no doubt that ALphaZero could tear through any human player alive in very short order. I hope that people will start experimenting with that, especially on m^n(m^n) where m > 3 and n > 2 to see how they hold up. Problem is, once you expand past n > 3 it gets very difficult for humans to play. This leads to a condition where performance of an NN on higher order M can only realistically be evaluated against other algorithms. In this context, it seems worthwhile to develop a general, classical algorithm that can evaluate any order M, regardless of efficacy of tree search in relation to the problem size, with the understanding that decision making is never presumed optimal until the gametree becomes tractable. This carries an an assumption of the same general strength across all M for the classical algorithm, because the expansion of m or n do alter the core heuristics.

From the practical standpoint, as a product designed for mobile with no assumption of connectivity, it doesn't make sense to start integrating NNs until lowest-common-denominator mobile devices have sufficient resources. The issue of package size is also important in this context--the classical algorithms require a trivial amount of code and volume. Most importantly, using classical algorithms formed of sets of heuristics and parameters allows recombination of functions to produce myriad automata of varying degrees of strength. (This can be easily accomplished by altering the size of tree search algorithms, but may only be relevant in determining which heuristics perform better under tree search restrictions.)

Finally, because M-games provide an array precise metrics, it may be worthwhile to develop core heuristic function based on human reasoning.

$\endgroup$
  • $\begingroup$ Hmmm..that's a great answer, so you are saying to use simple algorithms for devices having a low processing power resulting in a trade-off between results vs performance? $\endgroup$ – DuttaA Apr 11 '18 at 11:00
  • $\begingroup$ @DuttaA That's definitely a big part of it. But in the case of a problem set like M, every time you increase the matrix base or add dimensions, the problem size expands exponentially and factorially, and M can't be reduced to the degree that Sudoku can because the elements have weights (i.e. it's an ACGT/minimax problem, not exclusively combinatorics.) My assumption is that the efficacy of MCTS will diminish profoundly under that degree of game-tree expansion. $\endgroup$ – DukeZhou Apr 13 '18 at 3:37

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.