text:
Apart from Reinforcement Learning, are there any other machine learning approaches to play video games?
OpenAI's Universe utilizes RL algorithms. I also know that Q-learning has been used to solve some games.
Are there any other ML approaches to solve games? For example, could we use genetic algorithms to develop agents that solve games?

As I see it, it all comes down to game theory, which can be said to form the foundation of successful decision making, and is particularly useful in a context, such as computing, where all parameters can be defined.  (Where it runs into trouble is with the aggregate complexity of the parameters per the combinatorial explosion, although Machine Learning has recently been validated as a method of managing intractability specifically in the context of games.)
You might want to check out Playing Games with Genetic Algorithms and Evolutionary game theory.

Yes, evolutionary algorithms (EAs) can be used to solve/play games too. For example, OpenAI has used evolution strategies (a subset of EAs that uses fixed-length real-valued vectors and self-adaptive mutation rates) to play Atari games. In this blog post, they write

We've discovered that evolution strategies (ES), an optimization technique that's been known for decades, rivals the performance of standard reinforcement learning (RL) techniques on modern RL benchmarks (e.g. Atari/MuJoCo), while overcoming many of RL's inconveniences.

There is also the related paper Evolution Strategies as a Scalable Alternative to Reinforcement Learning (2017) and code.


text:
How does A* search work given there are multiple goal states?
When I have read through the fundamentals of AI, I saw a situation (i.e., a search space) which is illustrated in the following picture.

These are the heuristic estimates:
h(B)=9
h(D)=10
h(A)=2
h(C)=1

If we use the A* algorithm, the node $B$ will be expanded first because $f(B)=1+9=10$, while node $A$ having $f(A)=9+2=11$ and $f(B)<f(A)$, right?
After that, the search tree will go on in the order R -> B -> D -> G2. Will the search go on to also find the goal state G1?
Kindly let me know the order of the search if I am wrong.

Question 1: First of all, you state that that the goal G2 will be found first by relying on the expansion order R, B, D, G2.
This is wrong. It is extremely easy to see that this is wrong, because A* is a search algorithm that guarantees to find an optimal solution given that only admissible heuristics are used. (A heuristic is being admissible if it never over-estimates the optimal goal distance. This is the case in your example.) Since the true cost for reaching G1 is 11 and the true cost for reaching G2 is 13, clearly G1 must be found first.
Thus, your expansion order is wrong as well. Let us first give the f-values for all nodes:
f(A)=11, f(B)=10, f(C)=11, f(D)=13
Assuming that h(G1)=h(G2)=0 (i.e, the heuristic is "goal-aware"), we get f(G1)=11 and f(G2)=13.
Because A* expands search nodes by lowest f-values of the search nodes in the open list (the search nodes not yet expanded), we get the following expansion order:
R, B, A, C, G1
You very-likely did a mistake that is done extremely often: after heaving expanded D, you add G2 to the open list. Because G1 is a goal node and you are already "seeing" it, you return it as a solution. But this is wrong! Goal nodes are not returned when being created, but when being selected for expansion! So, although the expansion of D generates G2, you are not allowed to return G2 as solution, because it has not been selected for expansion.
Question 2:
Can G2 be found as well?
As NietzscheanAI pointed out, you can simple continue search. That is, after heaving expanded  R, B, A, C, G1, A* will expand D, G2.

Yes. If you leave A* running (i.e. do not impose a goal condition on a newly-encountered state), all states will be explored, just as they would be in breadth- or depth- first search.

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

sort: votes


text:
Is there an AI model for generating sarcastic sentences?
I am currently working on an Android AI app.
I am aware of AI models to generate random sentences. However, is there an AI model for generating sarcastic sentences?

Recognizing and interpreting sarcasm is often a difficult task even for humans to comprehend; since you can learn only the things you can recognize I don't see valid ways to accomplish your task.

Well, if you dive in and take a closer look, we see that ironic statements are the most likely to be sarcastic. So, instead; is there any way to produce random ironic statements?

You can use Generative models such as NB (Naive Bayes) and use probability using a big corpus for generating random sentences with n grams

I recommend researching the concept of the "backhanded compliment" and the comedy of Don Rickles, widely regarded as the exemplar of the form, for inspiration.  (And please keep us apprised of your progress.  Having a sarcastic computer assistant is something of a dream of mine.)

@DukeZhou My team is developing AI for Android here: https://play.google.com/store/apps/details?id=com.multiverse.jarvis That's where we want to implement the algorithm.

You could also build a database of sarcastic sentences, especially from, for example historic plays. And then train your software to recognize patterns of those sentences.
E.g. grammatical constructions/order, length (or circomstances building up to the sarcasm).
And use that database as starting point, with feedback to learn, or you could use the above method to improve your effective output.
Another approach would be to use a similar but reverse approach; study those databases and build an equivalent output based on the coherence, and then extrapolate the output-generation procedure. (In combination with other methods)

A simple form of sarcasm involves a direct reversal of the literal meaning of the statement, eg "Great weather we're having" (during a thunderstorm), "just what I needed" (when something goes wrong).
The problem with doing this in random sentences is that you may have no context to establish the reversal of the literal meaning.
You could possibly construct them by using a template along the lines of "Just what I needed - (random bad thing happened) today"
Or, when an outcome of a process is calculated, if it is not the desired outcome, instead of returning "mission unsuccessful" or "mission not yet complete", the AI could say "you're having a great day, aren't you? - mission unsuccessful" or "great work, genius - mission not yet complete".
Most random sentences will not be suitable for sarcasm, so it could only be applied in specific circumstances.
It is not clear from your question what the context is for these random sentences, and therefore it is not clear whether that context would be suitable for sarcasm at all.

Have a look at the paper A Modular Architecture for Unsupervised Sarcasm Generation (2019) by Mishra et al.
In the abstract, the authors write

In this paper, we propose a novel framework for sarcasm generation; the system takes a literal negative opinion as input and translates it into a sarcastic version. Our framework does not require any paired data for training.

Here's the reference implementation.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
If we achieve sentience using mutable hardware, will it be possible to make a copy of that "brain" and its active state?
Hardware comes in two forms, basically: immutable, such as RAM, and mutable, such as FPGAs.
In animals, neurological connections gain in strength by changing the physical structure of the brain. This is analogous to FPGAs whereby signal strength is increased by changing the pathways themselves.
If we achieve sentience using mutable hardware (e.g., neuromemristive systems), will it be possible to make a copy of that "brain" and its active state?
For this question, assume that the brain is how the hardware has "reconfigured" [or etched, if you will] its pathways to strengthen them and the brain's state is captured by how electrons are physically flowing throughout those pathways.

So basically, "hardware" with the capability of "software" (i.e. it can be altered.)  Not sure how this would be any different from modeling it with software. Nanoscale mechanical computing is quite interesting, but a program is a program, regardless of the medium on which it runs... Universal Turning Machine and so forth.  Are you asking about creating a physical replica of an organic brain, complete with all of the organic brain's information?

No, I'm thinking about replicating an inorganic brain into another inorganic brain and preserving both its pathway structures and state. This is assuming that specialized hardware (i.e., memristors) would also be required, but perhaps that's an incorrect assumption?

As I understand it, any computer program, at least using binary, can be reduced to a single, linear string.  Thus the computing medium is corollary. Meaningful hardware attributes relate to speed of computation, but not necessarily what is being processed. (Although it is believed Quantum computing will yield better performance for certain type of tasks.) I understand your question better now though!

Theoretically, there shouldn't be a problem copying either of the artificial brains in any state.
Difficulty in measuring a state doesn't seem to really be a problem until you get down to the quantum level, where the means of measurement affect the state.
The configuration of the artificial brains, including pathway structures and states, should be reducible to a single string, which could then be used to reconfigure the artificial brain the information is being copied to.

Definitely look into the concept of a Turing Machine and Universal Turing Machine.


text:
What are the state space and the state transition function in AI?
I'm studying for my AI final exam, and I'm stuck in the state space representation. I understand initial and goal states, but what I don't understand is the state space and state transition function. Can someone explain what are they with examples?
For example, one of the questions was this on my previous exam:

Given $k$ knights on an infinite (in all directions) chessboard and k selected squares of the board. Our task to move the knights to these selected squares obeying the following simple rules:

All knights move parallel, following their movement rule (L-shape jump)
No knights can move to a square on which a knight stood anytime before

Give the state space of the problem, the starting and goal states, and the state transition function!

Initial state
How things are at first.
In your particular example, it would be where your k knights are placed on the board initially. Your problem doesn't precisely state this, so you could either place them at the bottom or at random.
Goal state
The board with the k knights placed on the target squares.
State transition function
A function that takes actions (bound presumably by rules) and returns a new state.
In the k knight problem, the legal actions are moving parallel and in L shape movements, after which the knight will be in a new position and the board in a new state.
State space
The set of all states reachable from the initial state by any sequence of actions.
So, in the case of the k knight problem, your state space would start at the top with your initial state followed down by each individual movement of the k knights and the resulting new state. A graph where lines are actions and nodes are new states or a table are common representations of state space.

Reference
Artificial Intelligence: A Modern Approach, by S. Russell and P. Norvig.


text:
Can Bayesian inference be combined with knowledge-based systems?
I've been struggling with the connection between knowledge-based AI systems and Bayesian inference for a while now. While I continue to sweep through the literature, I would be happy if someone can answer these more specific questions directly

Are Bayesian inference based methods used in reasoning or Q/A systems -- to arrive at conclusions about questions whose answers are not directly present in the knowledge base?

In other words, if a Q/A system doesn't find an answer in a knowledge base, can it use Bayesian inference to use the available facts to suggest answers with varying likelihoods?

If yes, could you point me to some implementations?

Yes, it is possible to combine probabilistic / bayesian reasoning and a traditional "knowledgebase".  And some work along those lines has been done.  See, for example, ProbLog ("Probabilistic Prolog") which combines logic programming and probabilistic elements.  See:
https://dtai.cs.kuleuven.be/problog/tutorial/mpe/01_bn.html
Another project to look at is Pr-OWL
 ("Probabilistic OWL") which adds Bayesian reasoning to the Semantic Web stack.
Of course neither of these deals specifically with QA systems, but both represent some work on at least the foundational aspect of combining traditional logic and/or ontologies, with probabilistic approaches.  Building a QA system on top of that is an exercise for the reader...


text:
How can I generate "what", "why" and "who" types of questions from question templates?
I was wondering if in any way it is possible to generate $n$ questions based on gap-fill-in type questions.
For example, the following template

______ is a process in which plants generate energy.

could lead to the generation of the following specific question

What is the process in which plants generate energy called?

If so, how can I achieve this?
I am familiar with and used natural language processing techniques, and have no problem with implementing an algorithm for this, but I do not know where to start with this.

This seems tricky. It seems that any "surface level" transformation wouldn't give adequate results and any working solution would need to properly capture the sentence structure, and generate a gramatically correct transformed sentence.
One possible option is to use a "traditional pipeline" - e.g. you run a NLP pipeline up to syntactic parsing, which for general domain english is quite accurate (you'd need some special handling for the gap "____" part though), then implement some heuristic rules to transform the syntax tree, and regenerate a sentence from the transformed tree. There are a lot of publications about similar transformations in machine translation domain, used as a way to preprocess data before running statistical machine translation for language pairs with very different word(or sentence part) ordering.
A second option that may work is to look into the field of controlled natural languages, or something like http://www.grammaticalframework.org/ that can be used as a toolkit to help generating new sentences.
Current fashion also suggests a very different option that might work - you could train a character-level recurrent neural network with an attention mechanism (look into recent neural machine translation publications for details) to do this transformation, but I'm not sure of how much training data it will need for decent accuracy.


text:
How can one distinguish between an AI and a "sufficiently advanced algorithm"?

Any sufficiently advanced algorithm is indistinguishable from AI.---Michael Paulukonis

According to What are the minimum requirements to call something AI?, there are certain requirements that a program must meet to be called AI.
However, according to that same question, the term AI has become a buzzword that tends to be associated with new technologies, and that certain algorithms may be classified in AI in one era and then dismissed as boring in another era once we understand how the technology works and be able to properly utilize it (example: voice recognition).
Humans are able to build complex algorithms that can engage in behaviors that are not easy to predict (due to emergent complexity). These "sufficiently advanced" algorithms could be mistaken for AI, partly because humans can also engage in behaviors that are not easy to predict. And since AI is a buzzword, humans may be tempted to engage in this self-delusion, in the hopes of taking advantage of the current AI hype.
Eventually, as humanity's understanding of their own "sufficiently advanced algorithms" increase, the temptation to call their algorithms AI diminishes. But this temporary period of mislabeling can still cause damage (in terms of resource misallocation and hype).
What can be done to distinguish a sufficiently advanced algorithm from AI? Is it even possible to do so? Is a sufficiently advanced algorithm, by its very nature, AI?

Perhaps AI programs are not hard algorithms. They could be defined as software which is sometimes wrong..... and difficult to be understood by human developers

As you correctly pointed out, people tend to misinterpret the expression AI since they do not know what's behind an AI; it is pretty clear that in AI there is no more than just a bunch of algorithms and flowing bits. Talking about the nature of an AI without talking about the algorithmic paradigm of that AI is pointless and antiscientific.
This point of view is quite cynical; what we call intelligence is just the capability of solving particular problems.
The quote you cited in the title it's a derived version of the quote below, by a science fiction writer.

Any sufficiently advanced technology is indistinguishable from magic. - Arthur C. Clarke

Hence I doubt that a scientific answer exists since science lacks a formal definition of sufficiently advanced algorithm and advanced algorithm.

and lacks a formal, unified definition of AI, and intelligence ("artificial" at least, is easy;)

Intelligence is a quality of behavior, not implementation
Intelligence is a term that primarily applies to behaviors - people, animals or artificial systems can be called intelligent iff they exhibit intelligent behavior or decisions.
While there are many definitions of intelligence - here's a paper that studies 70 of them - it can be summarized to something like "Intelligence measures an agent’s ability to achieve goals in a wide range of environments." (S. Legg and M. Hutter).
Perhaps this definition is the answer to your implied question - while many algorithms can be very effective (often literally superhuman) in their own narrow domain, as of now they are very restricted in the range of environments where they exhibit this effectiveness. This means that they are not fully intelligent, they don't meet the definition/requirements of intelligence, and this also matches our intuitive expectations - we don't call AlphaGo superintelligent, because while it can beat humans in Go, the same humans can beat the same system on pretty much every other task.
However, a truly sufficiently advanced algorithm that can be effective at all or most varied tasks (e.g. a general artificial intelligence) can be reasonably called intelligent in the full meaning of the word.

Nice answer. (I'm not convinced intelligence defined at problem-solving strength requires breadth in terms of number of problems, but it's a subject of debate.)

Easy: Parse the code!  If the code meets your definition of Artificial Intelligence, that's what it is.

Only half kidding there.  The question of what defines AI is constantly evolving and there is no exact consensus.
The most reductionist view could regard any decision making algorithm to be a form of intelligence, and the strength of the intelligence (it's level of advancement) is dependent on the frame of reference (typically a subjective entity making that evaluation.)
For this reason, it might be better to regard the issue from the standpoint of utility.
Utility is a central concept in AI because it is the means by which we evaluate "intelligence" (strength in a given task or problem aka "how well does it get the job done?") Does the algorithm fulfill the task(s) with sufficient optimality to meet our definition of Artificial Intelligence?
This leads me to believe the quote itself may be primarily a comment on the definitions of Artificial intelligence, per Lovecraft's answer.  Subjectivity is indeed the a central notion of the Clark quote it references.

I am going to answer this questions by stepping away from the previously made insightful comments and academic answers. I am going to offer my opinion only. The problem is as I see it, a bit more complex than the previous answers. For example, why is it that the only measure of intelligence of an AI is when it can "beat" a man at a specific task?
Is not a dog, a bird or a dragonfly sufficiently intelligent and sentient? Yet these creatures as well as many others too, fail to achieve the intellectual challenges we want computers to make.
The mistakes we do often make is by trying to "impute" attributes and characteristics into an AI without it having to "work" for them. Those skills, experiences, memory and knowledge which all sentient beings have to constantly work at, refine and perfect.
You are correct though in your assertion that a lot of what is called AI are just academic or software gimmicks and simulations without offering the real qualities of either sentience or artificial intelligence.
However, I would challenge you by suggesting that your last question:
"What can be done to distinguish a sufficiently advanced algorithm from AI? Is it even possible to do so? Is a sufficiently advanced algorithm, by its very nature, AI?"
Is inherently flawed. Because have you forgotten how we too are free running, biologically self-programming, beings? Where our biological algorithms can often also be critically flawed? Therefore, let me ask you if the reverse is also true? Does an algorithm which seems to make mistakes, any less than one which does not?


text:
How would AI be able to self-examine?
As I see some cases of machine-learning based artificial intelligence, I often see they make critical mistakes when they face inexperienced situations.
In our case, when we encounter totally new problems, we acknowledge that we are not skilled enough to do the task and hand it to someone who is capable of doing the task.
Would AI be able to self-examine objectively and determine if it is capable of doing the task?
If so, how would it be accomplished?

Several AI systems will come up with a level of confidence to the solution found. For example, neural networks can indicate how relatable is the input problem to the ones it was trained with. Similarly, genetic algorithms work with evaluation functions, that are used to select best results, but depending on how they're built (the functions), they can indicate how close the algorithms are to an optimal solution.
In this case, the limit to when this is acceptable or not will depend on a threshold set beforehand. Is 50% confidence good enough? Maybe it's ok for OCR apps (spoiler: it's not), but is it for medical applications?
So yes, AI systems do currently have the capacity of determining if they're performing well or not, but how acceptable that is is currently based on the domain of the problem, which currently stands outside of what is built into an AI.

Would AI be able to self-examine objectively and determine if it is capable of doing the task?

Our ability to self-examine comes definitively from the memory of our experiences; indeed, for this reason it can't be objective. In the same way AI could be able to determine the heuristically optimal strategy to solve a problem if and only if it has some sort of memory of previous tasks e.g. speech recognition.
Science is constantly working to improve our understanding of things. Trying to mimic the human brain seems to be a difficult problem at the moment; though we are able to replicate almost fully simpler organisms as C. elegans, a roundworm.

I would concur with the answer given to you by Lovecraft. One of the major problems with A.I. programmers is that they are always trying to push computers to do things which are designed for "mature" intelligent creatures who have prior experience and knowledge of solving problems.  -As if these things can be imputed without the A.I. having to achieve the necessary and vital "learn by trial and error" experience first. For example: when allowing for task examination; self evaluation and risk assessment.
You have answered your own question, because these things can only be gained by "experience". However, the only way to surmount this is to expose a prototype A.I. to the main problems; help it to solve them, and then to take its memory and use it as a template for other A.I's.
Technically, AI's which have learned to solve prior problems could make their memories available to others on demand, so that an inexperienced AI could solve an issue without having achieved the skills needed.
However, I would like to add that mimicking intelligence is not in itself "intelligence". Many programmers fall into the trap of believing that to emulate something is qualitatively the same expression as the genuine article. This is a fallacy which infers that we only have to simulate intelligence without understanding the real mechanisms which create it.
This "copying" of sentience is done all the time and despite how good we have become in copying over the last few years, each new algorithm is just that:  a simulation without genuine sentience or intelligence!

Would AI be able to self-examine objectively and determine if it is capable of doing the task?

A possible approach might be the one suggested and studied by J.Pitrat (one of the earliest AI researcher in France, his PhD on AI was published in the early 1960s and he is now a retired scientist). Read his Bootstrapping Artificial Intelligence blog and his Artificial Beings: the conscience of a conscious machine book.
(I'm not able to summarize his ideas in a few words, even if I do know J.Pitrat -and even meet him once in a while- ; grossly speaking, he has a strong meta-knowledge approach combined with reflexive programming techniques. He is working -alone- since more than 30 years on his CAIA system, which is very difficult to understand, because even while he does publish his system as a free software pragram, CAIA is  not user friendly, with a poorly documented common line user interface; while I am enthusiastic about his work, I am unable to explore his system.)
But defining what "conscience" or "self-awareness" could precisely mean for some artificial intelligence system is a hard problem by itself. AFAIU, even for human intelligence, we don't exactly know what that really means and how does that exactly work. IMHO, there is no consensus on some definition of "conscience", "self-awareness", "self-examination" (even when applied to humans).
But whatever approach is used, giving any kind of constructive answer to your question requires a lot of pages. J.Pitrat's books & blogs are a better attempt than what anyone could answer here. So your question is IMHO too broad.

It's not possible as this is the distinction between AI and humans, truly science will never understand the subconscious it's that little black box that no one can reverse engineer. This is why pursuing singularity is a fools dream to the extreme.
The reason why machinery lacks this because of the lack thereof a soul. science cannot produce a soul, this is why a machine cannot be self aware we can program fancy algorithms all day that mimic things but it's emotionless it cannot sit in judgement because it lacks real self awareness that is human self awareness it's like trying to make an orange into an apple.


text:
Is the 'direction' considered, when determining the branching factor in bidirectional search?
If I am correct, the branching factor is the maximum number of successors of any node.
When I am applying bidirectional search to a transition graph like this one below

If 11 is the goal state and I start going backwards, is 10 considered as a successor of 5? Even if it does not leads me further to my start state 1?

If I am correct, the branching factor is the maximum number of successors of any node

You are correct, they should also be the immediate ones:

If 11 is the goal state and I start going backwards, is 10 considered as successor of 5? Even if it do not leads me further to my start state 1?

No, there is also a bit of misunderstanding of bidirectional search: In bidirectional search you run 2 simultaneous searches, one forward from the initial state, and another one backwards from the goal(hoping they meet in the middle and save you steps), if actions are reversible ( going from node to node), the successor nodes become predecessors in one search and vice versa, and your goal becomes your initial state, in your case:

Reference/source
Artificial Intelligence: A Modern Approach, by S. Russell and P. Norvig.


text:
How does Google's search engine choose its autocomplete solution?
While writing a paper yesterday this strange thing happened to me. I was writing it in Word, and wasn't satisfied with the repeated usage of the word "release" in the last few sentences. So, I've decided to open up Google and started to enter the search phrase "synonyms for release". Haven't even finished the word synonym, google autocompleted my search to "synonyms for release".
How could it know that I wanted to look for that exact word? Was it just a coincidence? Does Google have access to some information that could somehow possibly give away what I intended to search? What could have been the reason for it selecting "release" as its first autocomplete?

In general, Google autocompletes (and produces search results) based on wide variety of factors, including (but not limited to) your location, your search history, your other Google accounts, your site visit history, your language settings, etc.
For the specific question, I see a few ways in which Google might have access to the relevant information:

If you are syncing your documents with Google Drive it will index the document that most recently changed (which would be the document you are writing) and it could analyze it for patterns to produce relevant search results and suggestions
If you emailed the document recently anywhere via Gmail it could also index the contents as above
Finally, if you are typing the document in Google Docs, it could also have access, but I assume by "Word" you mean Microsoft Word, so this is probably irrelevant in this case

I don't know specifically whether or not Google uses Drive or Gmail contents in the way described, but it would certainly make sense given that it is well known that they do use this information to target advertising.


text:
How could an AI interpret the requests of a human without the human needing to specify every detail?
Let the request be the thing that we asked the AI to do, not necessarily using commands.
Nowadays, we have our personal AI in our devices: Siri by Apple, Cortana by Microsoft, and so on. Most times, when we ask them to do certain tasks, they do the tasks for us. However, their action is based on the list of commands. When they don't clearly recognize the commands in our request, they suggest us to use certain commands. It is clear that there are limits to our choices (requests).
So, let's suppose that we have an AI that can interpret requests. There may not be commands in our request. AI is fully able to do anything in order to do what it is asked for. Basically, I am talking about an independent AI.
Now, consider the scenario where an AI is asked to clean the room. AI is allowed to throw away garbage, and move unnecessary (or unused) stuff into the storage.
This is the list of things that were in the room at the moment:

A stained blanket
Various decorations
A dead clock on the wall
Various unused items in the desk drawer
A lost Airpod under the bed
A sleeping cat in the bed

In this condition

Is washing a stained blanket a part of cleaning?
How can AI tell if anything is in use? Are decorations in use?
Would dead clock that only needs battery replacement considered garbage?
Would items in the desk drawer be included in AI's to-be-cleared list?
Would AI be able to recognize the difference between unused and lost?
What would happen to the poor cat?

Since there are many holes in the scenario and questions, I would like to know how the answers are derived.

This is basically the problem of commonsense knowledge. It is AI-complete.
If we knew how to solve it, Siri and Cortana wouldn't be as limited as they are.


text:
What is the difference between artificial intelligence and robots?
What is the difference between artificial intelligence and robots?

Robots as in "physical devices", or chatbots and other bot-programs?

Related: Are Artificial Intelligence and Robotics Different? at Robotics.SE

Although there are several definitions of "robot", an essential feature of everything called "robot" is that it is capable of movement. This does not necessarily mean displacement; a robot arm in a factory also moves.
There is a single exception to this rule,  which is bot-programs like chatbots; I will discuss them later.
Artificial Intelligence does not need to move; a chess program can be argued to be an AI, but does not move.
A robot can actually have AI; one of the definitions of robot is that it is a system, capable of autonomous movement. In order to be autonomous, to be able to make decisions of its own, a certain amount of AI may be necessary.
There is one class of "robots" that does not move, and does not even have physical presence; bot programs, like chatbots, that operate inside systems. I do not consider them robots, because they are not physical devices operating in the real world. A chatbot can be an AI, however - a good chatbot may have some natural language processing to interact with humans in a way that humans find natural.
To summarize; an AI can exist purely in software. But to be a robot, there must be a moving physical component in the real world.

In the broadest sense, the difference is that non-robotic A(G)I may not be possible because, as per this question, it could be that "Intelligence requires a body".
More specifically, it could be that there are limitations to what the traditional (well, 1950s style) 'Brain in a vat' notion of an AI is capable of comprehending, in the absence of experience of embodied experience such as force, motion and "the raw, unawshed world".

Are you saying that a real AI (in particular, AGI) may require a body and thus it may be a robot? I think you should have been more explicit, with respect to the actual question.

In a general sense you can say that robot is a piece of hardware, while AI is software (sometimes hardware too).

Wikipedia states Robot as a machine which performs complex set of tasks automatically.
  Machine - A mechanical device basically.

So, technically you can create a robot that doesn't require any kind of complex algorithms to take decisions. A simple line follower doesn't even require a microcontroller. Just some gates are enough. Some other examples of robots are, a robotic arm, automated control systems in industries, etc. If you think about it even the printer in your house is a robot in itself.

Artificial Intelligence is a field of Computer Science which deals with developing systems that can perform tasks rationally as if it is using intelligence (of human level) for taking decisions.

AI deals with complex algorithms. Some examples of AI are speech recognition, face recognition, natural language processing, etc.
AI don't necessarily need additional hardware. A simple desktop at home will work, while the term robot is used for external hardware that does some autonomous task repeatedly.

Basically a robot is a mechanical or virtual artificial agent which exhibit intelligent behavior (AI).

Tim Urban on Wait But Why website wrote the following to clear things up:

First, stop thinking of robots.
A robot is a container for AI,
sometimes mimicking the human form, sometimes not
— but the AI itself is the computer inside the robot.
AI is the brain and the robot is its body — if it even has a body.
For example,
the software and data behind Siri is AI, the woman’s voice we hear is a personification of that AI, and there’s no robot involved at all.

Source: The AI Revolution: The Road to Superintelligence

Simply we say AI is software and robot is its body.

This is because the algorithms we commonly think of AI come in the form of software, where when we talk about robots, we're talking about physical automation.
In an automobile manufacturing process where automation is used, the software makes the decisions on what physical action the robot arm should take at any given time.

An AI is a computer program designed for tasks normally requiring human intelligence (a human's ability to learn), while a robot is a machine that completes complex tasks. An AI could be used to control a robot, but they are very different.
Source: Oxford English Dictionary, above links will direct to definitions.

Welcome to AI SE Stack Exchange! I think the OP was looking for a more detailed answer about how they are different.

@NietzscheanAI I think one should invite us in chat,to discuss about this two concepts.The reason being we have got various opinions.This is really interesting.


text:
Are Siri and Cortana AI programs?
Siri and Cortana communicate pretty much like humans. Unlike Google Now, which mainly gives us search results when asked some questions (not setting alarms or reminders), Siri and Cortana provide us with an answer, in the same way that a person would do.
So, are they actual AI programs or not?
(By "question" I don't mean any academic-related question or asking routes/ temperature, but rather opinion based question).

Siri and Cortana are AI to some extent. The usual label is "weak AI" (also called "narrow" or "soft" AI). It turns out the Wikipedia article on Weak AI explicitly refers to Siri:

Siri is a good example of narrow intelligence. Siri operates within a limited pre-defined range, there is no genuine intelligence, no self-awareness, no life despite being a sophisticated example of weak AI. In Forbes (2011), Ted Greenwald wrote: "The iPhone/Siri marriage represents the arrival of hybrid AI, combining several narrow AI techniques plus access to massive data in the cloud." AI researcher Ben Goertzel, on his blog in 2010, stated Siri was "VERY narrow and brittle" evidenced by annoying results if you ask questions outside the limits of the application.

Important to note that "mixing" weak AIs does not make a "stronger" AI, by some arguments (see Searle's Chinese Room argument), but there is no consensus on this topic yet.

Rather than quoting Wikipedia, which can be written by anyone (so it's sometimes not reliable, although, in this case, that quote is not far off), even though this is an old question/answer, I suggest that you edit this answer to quote "Ted Greenwald" and "Ben Goertzel" directly.

I would classify both as having / using elements of AI, yes.  But I wouldn't say either represents a truly "intelligent" (in the AGI sense) program.
But here's the rub... as you'll see in other questions asking about definitions of AI, there's a sort of memetic thing where anything that AI begins to do successfully, immediately stops being considered "AI".  So AI is always an unreachable state, because it's always "something humans can do that computers can't" and once the computer can do it, it isn't AI anymore.   So take that into consideration.

Short Answer, No.
Explained, Siri and Cortana are just inference engines. Though how applaudable their ability to synthesize text from speech and parse lexical maps from the text using Machine Learning Techniques is, the artifact is still just a program, trained with substantial myriad of Q/A tuples, that generates an output given an input. Statistically mapping the probability distribution of words of a question and accordingly generating an answer is just NOT an AI, however, to the most, it can be classified as Narrow Intelligence.
www.cleverbot.com is an example of such a system. The ones you mentioned are just more sophisticated and highly architectured versions of this kind; for example, connection to WolframAlpha (Siri), Computer Kernel (Cortana). In fact, there is a lot of innate use of control statements (If-Else).

They are virtual artificial agents which exhibit intelligent behavior (AI).
Tim Urban on Wait But Why website wrote the following:

The software and data behind Siri is AI, the woman’s voice we hear is a personification of that AI, and there’s no robot involved at all.

Source: The AI Revolution: The Road to Superintelligence
Related: What is the difference between AI and robots?

authors: Bob Jarvis - Слава Україні


text:
Why did AlphaGo lose its Go game?
We can read on wiki page that in March 2016 AlphaGo AI lost its game (1 of 5) to Lee Sedol, a professional Go player. One article cite says:

AlphaGo lost a game and we as researchers want to explore that and find out what went wrong. We need to figure out what its weaknesses are and try to improve it.

Have researchers already figured it out what went wrong?

We know what Lee's strategy was during the game, and it seems like the sort of thing that should work. Here's an article explaining it. Short version: yes, we know what went wrong, but probably not how to fix it yet.
Basically, AlphaGo is good at making lots of small decisions well, and managing risk and uncertainty better than humans can. One of the things that's surprising about it relative to previous bots that play Go is how good it was at tactical fights; in previous games, Lee had built a position that AlphaGo needed to attack, and then AlphaGo successfully attacked it.
So in this game, Lee played the reverse strategy. Instead of trying to win many different influence battles, where AlphaGo had already shown it was stronger than him, he would set up one critical battle (incurring minor losses along the way), and then defeat it there, with ripple events that would settle the match in his favor.
So what's the weakness of AlphaGo that allowed that to work? As I understand it, this is a fundamental limitation of Monte Carlo Tree Search (MCTS). MCTS works by randomly sampling game trees and averaging them; if 70% of games from a particular position go well and 30% of games from another position go well, then you should probably play the first move instead of the second move.
But when there's a specific sequence of plays that go well--if, say, W has a path that requires them playing exactly the right stone each time, but B has no possible response to this path--then MCTS breaks down, because you can only find that narrow path through minimax reasoning, and moving from the slower minimax reasoning to the faster MCTS is one of the big reasons why bots are better now than they were in the past.
It's unclear how to get around this. There may be a way to notice this sort of threat, and then temporarily switch from MCTS reasoning to minimax reasoning, or to keep around particular trajectories in memory for consideration in future plays.

Also, we knew that AlphaGo was better at playing White than it is at playing Black. This is why Lee suggested (and Deepmind agreed to) Lee playing Black on the last game, rather than the coinflip that it was originally planned to be; Lee wanted to see if the same strategy that worked against AlphaGo's weaker side also worked against its stronger side. (Not well enough; he lost that match.)

What's the difference between playing black or white?Does one of the colors start first? Even if it does, it seems weird to notice a difference in the performance.

@Ovi Yes, Black always goes first. This is known to have the long-lasting effect of putting White in a position where he usually struggles to play as efficiently as Black in local battles where Black is up a stone (White is given a small score handicap at the end to compensate). Perhaps AlphaGo is better at exploiting human mistakes than it is coming up with creative and flawless strategies?

@Feryll no it's not,  note the sequence recommended here http://www.alphago-games.com/view/eventname/leesedol/game/3/move/37   (B after whites "brilliant" move 78)   That is to say Lee Sedol's "brilliant move"  may not work Idk anything about A.I. ,  I just find it so hard to believe that alphago did not find this counter

Its like a pathological "drunkards maze" where if you turn left at the first intersection it puts you into a large closed loop/maze and you cannot find the end without returning to the beginning.  It is strange to think of making substantially different "players" and calling them alphago.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Is it possible to fool a facial recognition algorithm?
Assuming we're dealing with an artificial neural network (e.g. a ConvNet), which was trained by a large dataset of human faces.
Are there any known issues or challenges where facial recognition would fail? I'm not talking about covering half of the face, but some simple common things, such as wearing glasses, a hat, jewelry, having face painting, or tattoos. Can this successfully prevent AI from recognizing the face? If so, what are the current methods for dealing with such challenges?

Wearing a mask which consists of someone else's face will fool the algorithm unless it's trained for such a thing.

Facial recognition works by essentially turning your face into a point cloud, recognizing eyes, cheeks, nose, mouth, etc.
Unfortunately it doesn't look at the top of your head (hair is very hard to differentiate from other hair and doesn't have many features). Face paintings   would be your best bet since they can be easily changed, tattoos not so much. Once somebody has a photo of your face with your tattoo on it, you're busted.  Glasses will work if they're opaque and hide your eyes (sunglasses). The facial recognition software does not recognize jewelry, as it's tiny, and very easy to remove and put on. Ideally you want to have your face professionally made up with makeup and fake skin (basically a fake face).
Some challenges can be anything like an unclear picture, a picture from the wrong angle (which can probably be mathematically calculated and restructured), or like you said, face paintings to hide facial features.

Some references would be useful.


text:
Why did a Tesla car mistake a truck with a bright sky?
Do we know why Tesla's autopilot mistaken empty sky with a high-sided lorry which resulted in fatal crash involving a car in self-drive mode? Was it AI fault or something else? Is there any technical explanation behind this why this happened?
The articles Tesla Driver In First Self-Drive Fatal Crash and Tesla driver killed in crash with Autopilot active, NHTSA investigating talk about this topic, but do not go in detail.

Tesla's technology is assistive, as Alexey points out, so this is not a case of an autonomous system (e.g. an AGI) doing some fatal stunt (the product name AutoPilot is famously misleading). Now on why the car assistance led to this tragic accident, there is some information related to AI technologies.

Warning: I cannot find again the source critical to the next paragraph, and reading again pages over pages, I cannot find similar argument in other reports. I still remember vividly the point below, but please keep in mind it may be incorrect. The rest of the answer is weakly related, so I leave it all, with this warning.
An independent report (link needed, I can't find it...) explained that the assistive system was unable to detect the truck due to an exceptionally low contrast (bright sky perceived as white---colour of the truck). The report also said that a human driver would have been unable to make the difference either. In other words, it is possible that car sensors (presumably camera) and the human eye could not have detected an obstacle, and could not have triggered any safety measure. This short graphical explanation sums up the car sensors: Camera, radar, GPS, etc.
The assistive sub-system is based on proprietary AI technologies. We can only speculate under some hypothesis. _This is not very useful, honestly, except for illustration purpose. Assuming the assistive system relies on ML technologies to learn about obstacles from a video stream (such systems do exist):

It may be that the learning data was not "good enough" to cover the truck scenario.
It may be the technology was not powerful enough yet (lack generalization power, or simply too slow).
It may be a hardware problem, notably from the sensors: If the "car's eyes" are defective, the "car's brain" (the assistive system) is unable to react properly.

Why those technologies did not work in that case will remain a secret. We can say however that any system---whether built with AI technology or not---has limits. Beyond these limits, the system reaction is unpredictable: It could stop, reset, shutdown. The difficulty here is to define what a "default behaviour" is. A machine will basically do whatever it is designed to do, so an AI-based system too.
We could speculate even more on what would happen if the assistive system was really autonomous, the elusive AGI, but that is really not the case here.

"The report also said that a human driver would have been unable to make the difference either. "  I haven't read the report, so I could be wrong, but I'm guessing that this wouldn't be true over a sequence of frames: there could be subtle cues that an object is present that a human could pick up on, but that image processing would likely dismiss as noise...

Sorry, as I still cannot find the source... The sequence argument is speculative on this case, though. So many things can go wrong with such "early-stage" technology (Who would go to the Moon riding Apollo 11's hardware today?). Yes, it may be their algorithm at the time, lack of data, or the hardware is just not enough.

As far as I know, Tesla cars autopilot is not a 100% AI pilot, it's an assitant: as it detects hands off wheel it slows down, so it's incorrect to speak about AI mistake: it is not trained/designed to drive a car all by itself. A human driver is responsible in that incident.

How does this answer the actual question?

Tesla model S has Autopilot which allows to steer within a lane, change lanes with the simple tap of a turn signal, and can manage speed by using traffic-aware cruise control. Multiple digital controls helps to avoid collisions. Based on that, this isn't fully self-driving car.
However it is using a computer vision detection system, but it is not intended to be used hands-free.
So basically what is known is that the accident involved the side of a truck trailer (of a large white 18-wheel truck) and most likely the camera had a washed out of picture possibly due to glare or blooming from overexposure which made that the side of the trailer white and thin which failed to distinguish with the sky which was bright as well.
This may have happened in part, because the crash-avoidance system only engage when both radar and vision system detect an obstacle which could not happen.
Further more it was suggested by The Associated Press that the driver most likely was watching a Harry Potter at the time of the crash and assuming system would alert Brown, we don't know if he was able to retake controls quickly enough to avoid impact. As mentioned again, the system wasn't intended for hands-free driving and parts of the system was unfinished. Not to mention that the car was driving with full speed under the trailer.
Tesla officially said about this crash in a statement on its website:

The high ride height of the trailer combined with its positioning across the road and the extremely rare circumstances of the impact caused the Model S to pass under the trailer, with the bottom of the trailer impacting the windshield of the Model S.
Neither Autopilot nor the driver noticed the white side of the tractor-trailer against a brightly lit sky, so the brake was not applied.

They also said, according to techno-optimists, that they will tweaks their code, so this particular case won't happen again.
To summarize, this was a 'technical failure' of braking system and most likely Autopilot was not at as Tesla told Senate.

The New York Times |Source: Florida traffic crash report
Sources:

Tesla Autopilot death highlights autonomous risks
Layers of Autonomy
Inside the Self-Driving Tesla Fatal Accident
Tesla driver dies in first fatal crash while using autopilot mode


text:
How could Deep Blue possibly cheat?
On Wikipedia we can read:

Kasparov accused IBM of cheating and demanded a rematch. IBM refused and retired Deep Blue.

What was the accusation and how was Deep Blue allegedly able to cheat?

The allegation was based on the fact that Deep Blue made a choice that did not yield the immediate (or short term) benefit that was synonymous with systems back then (1997). Computational capability was significantly less powerful then, and Kasparov claimed that only a grand master would have made the decision that the system did - so the deep blue team cheated by having a human perform the move instead of the system.
He asked for a rematch, but IBM did not allow this, which only added to the suspicion.
This is a great article with deep analysis on the specific moves and circumstances - however suffice to say that Kasparov was trying to bait the system into making a decision for a weak pawn, but the system chose otherwise and instead put Kasparov into a compromised position:
https://en.chessbase.com/post/deep-blue-s-cheating-move


text:
What are the minimum requirements to call something AI?
I believe artificial intelligence (AI) term is overused nowadays. For example, people see that something is self-moving and they call it AI, even if it's on autopilot (like cars or planes) or there is some simple algorithm behind it.
What are the minimum general requirements so that we can say something is AI?

It's true that the term has become a buzzword, and is now widely used to a point of confusion - however if you look at the definition provided by Stuart Russell and Peter Norvig, they write it as follows:

We define AI as the study of agents that receive percepts from the environment and perform actions. Each such agent implements a function that maps percept sequences to actions, and we cover different ways to represent these functions, such as reactive agents, real-time planners, and decision-theoretic systems. We explain the role of learning as extending the reach of the designer into unknown environments, and we show how that role constrains agent design, favoring explicit knowledge representation and reasoning.

Artificial Intelligence: A Modern Approach - Stuart Russell and Peter Norvig
So the example you cite, "autopilot for cars/planes", is actually a (famous) form of AI as it has to use a form of knowledge representation to deal with unknown environments and circumstances. Ultimately, these systems also collect data so that the knowledge representation can be updated to deal with the new inputs that they have found. They do this with autopilot for cars all the time
So, directly to your question, for something to be considered as "having AI", it needs to be able to deal with unknown environments/circumstances in order to achieve its objective/goal, and render knowledge in a manner that provides for new learning/information to be added easily. There are many different types of well defined knowledge representation methods, ranging from the popular neural net, through to probabilistic models like bayesian networks (belief networks) - but fundamentally actions by the system must be derived from whichever representation of knowledge you choose for it to be considered as AI.

Given that "we" clearly means Russell and Norvig themselves, I doubt they overstepped ...

Now define "percepts from the environment" and "actions". Any algorithm can fit this definition.

@BenediktS.Vogler Agreed.  In the most reduced definition, any decision making algorithm would qualify.  Level of intelligence (degree of utility) is corollary.

In addition to what has already been said about AI, I have the following to add. "AI" has had quite a history going all the way back to the original Perceptron. Marvin Minsky slammed the Perceptron in 1969 for not being able to solve the XOR problem and anything that was not linearly separable, so "Artifical Intelligence" became a dirty word for a while, only to regain interests in the 1980s. During that time, neural nets were revived, backpropagation used to train them was developed, and as computer technology continued its exponential growth, so did "AI" and what became possible.
Today, there are lots of things we take for granted which would've been considered "AI" 10 or 15 years ago, like speech recognition, for example. I got my starts in "AI" speech recognition back in the late 70s where you had to train the voice models to understand a single human speaker. Today, speech recognition is an afterthought with your Google apps, for example, and no a priori training is needed. Yet this technology is not, at least in general audiences, considered "AI" anymore.
And so, what would be "minimum requirements"? That would depend on whom you ask. And what time. It would appear that that term only applies to technology "on the bleeding edge". Once it becomes developed and commonplace, it is no longer referred to as AI. This is true even of Neural Nets, which are dominant in data science right now, but are referred to as "machine learning".
Also check out the lively discussion on Quora.

This is an "in human language" (non-technical;) synopsis of the core of Kaiesh's excellent answer.

In the most basic sense, any decision making algorithm can be regarded as a form of Artificial Intelligence.

The History of Artificial Intelligence wiki gives a pretty good overview.  The roots of the field are generally ascribed to Symbolic Artificial Intelligence, but it might be said to go back as far as Babbage. The first functional game AI in the form of an "analytic engine" may be Nimatron (1940). More recently, Machine Learning in all of its various forms, including Neural Networks and Genetic Algorithms, have been delivering exciting results. Bayesian networks are another form of  probabilistic AI.

Utility, the means by which we evaluate the degree of intelligence of algorithms, is separate from the mechanism.

AIs can be weak or strong.  Strong means better performance at a task than a competing rational agent, typically humans. ("Man is the measure of all things." Protagoras) The term strong in relation to AI has traditionally been taken to mean Artificial General Intelligence [see also the Turing Test], but current algorithmic intelligences are only "narrowly strong".
Intelligence is a spectrum, therefore:

The minimum requirement for AI is that an algorithm make decisions based on data, irrespective of the quality of the decisions.

There is also the AI effect, that is, the tendency to not consider something an AI once it is well understood. For example, neural networks are not yet fully understood, so people still tend to call them AI. Once we know exactly all the details about neural networks and their inner workings, we might start to consider them just computation. This is an old philosophical topic that goes back at least to the famous Jacques de Vaucanson's defecating duck and automatic loom.

From "Artificial Intelligence And Life In 2030: One Hundred Year Study On Artificial Intelligence":

In fact, the field of AI is a continual endeavor to push forward the frontier of
  machine intelligence. Ironically, AI suffers the perennial fate of losing claim to its
  acquisitions, which eventually and inevitably get pulled inside the frontier, a repeating pattern known as the “AI effect” or the “odd paradox”—AI brings a new technology into the common fold, people become accustomed to this technology, it stops being considered AI, and newer technology emerges.

Consequentially, I believe we can not choose a fixed set of requirements for something to be considered AI; rather, at any given moment in history, AI is a set of programs which can achieve something that before was generally considered to be solvable by humans only. As technology evolves, the boundaries keep getting pushed and pushed, and the bar rises higher. Consider chess playing: once chess engines were considered one of the pinnacles of AI, while nowadays such programs are perceived as "blind search" and not truly intelligent.
To quote Larry Tesler, Intelligence is whatever machines haven't done yet.


text:
How can I automate the choice of the architecture of a neural network for an arbitrary problem?
Assume that I want to solve an issue with a neural network that either I can't fit to existing architectures (perceptron, Konohen, etc) or I'm simply not aware of the existence of those or I'm unable to understand their mechanics and I rely on my own instead.
How can I automate the choice of the architecture/topology (that is, the number of layers, the type of activations, the type and direction of the connections, etc.) of a neural network for an arbitrary problem?
I'm a beginner, yet I realized that in some architectures (or, at least, in perceptrons) it is very hard if not impossible to understand the inner mechanics, as the neurons of the hidden layers don't express any mathematically meaningful context.

I think in this case, you'll probably want to use a genetic algorithm to generate a topology rather than working on your own. I personally like NEAT (NeuroEvolution of Augmenting Topologies).
The original NEAT paper involves evolving weights for connections, but if you only want a topology, you can use a weighting algorithm instead. You can also mix activation functions if you aren't sure which to use. Here is an example of using backpropagation and multiple neuron types.

The other answer mentions NEAT to generate network weights or topologies. The paper NeuroEvolution: The Importance of Transfer Function Evolution and Heterogeneous Networks, which also gives a short summary of neuroevolution techniques, provides an alternative approach to NEAT. It uses Cartesian Genetic Programming to evolve multiple activation functions.


text:
Why can't OCR be perceived as a good example of AI?
On the Wikipedia page about AI, we can read:

Optical character recognition is no longer perceived as an exemplar of "artificial intelligence" having become a routine technology.

On the other hand, the MNIST database of handwritten digits is specially designed for training and testing neural networks and their error rates (see: Classifiers).
So, why does the above quote state that OCR is no longer exemple of AI?

Whenever a problem becomes solvable by a computer, people start arguing that it does not require intelligence. John McCarthy is often quoted: "As soon as it works, no one calls it AI anymore" (Referenced in CACM).
One of my teachers in college said that in the 1950's, a professor was asked what he thought was intelligent for a machine. The professor reputedly answered that if a vending machine gave him the right change, that would be intelligent.
Later, playing chess was considered intelligent. However, computers can now defeat grandmasters at chess, and people are no longer saying that it is a form of intelligence.
Now we have OCR. It's already stated in another answer that our methods do not have the recognition facilities of a 5 year old. As soon as this is achieved, people will say "meh, that's not intelligence, a 5 year old can do that!"
A psychological bias, a need to state that we are somehow superior to machines, is at the basis of this.

If we are in denial like this, we will never know when robot will achieve AGI.

Although OCR is now a mainstream technology, it remains true that none our methods genuinely have the recognition facilities of a 5 year old (claimed success with CAPTCHAs notwithstanding). We don't know how to achieve this using well-understood techniques, so OCR should still rightfully be considered an AI problem.
To see why this might be so, it is illuminating to read the essay
"On seeing A's and seeing AS" by Douglas Hofstadter.
With respect to a point made in another answer, the agent framing is a useful one insofar as it motivates success in increasingly complex environments. However, there are many hard problems (e.g. Bongard) that don't need to be stated in such a fashion.

I'm not sure if predicting MNIST can be really considered as an AI task. AI problems can be usually framed under the context of an agent acting in an environment. Neural nets and machine learning techniques in general do not have to deal with this framing. Classifiers for example, are learning a mapping between two spaces. Though one could argue that you can frame OCR/image classification as an AI problem - the classifier is the agent, each prediction it makes is an action, and it receives rewards based on its classification accuracy - this is rather unnatural and different from problems that are commonly considered AI problems.


text:
What does "death" intuitively mean in the paper "Death and Suicide in Universal Artificial Intelligence"?
In the paper Death and Suicide in Universal Artificial Intelligence, a proposal is given for what death could mean for Artificial Intelligence.
What does this mean using English only? I understand that mathematical notation is useful for giving a precise definition, but I'd like to understand what the definition really means.

The authors do actually give an English definition in terms of the well-known agent formulation of AI:

We intend this usage to be intuitive: death means that one sees
  no more percepts, and takes no more actions.

It would seem that this becomes possible for a reinforcement learning agent such as AIXI in a formulation that uses semi-measures of probability (which need not sum up to 1), rather than the more traditional notion.


text:
Are there any artificial neuromorphic systems which can mimic the brain?
I'd like to know whether there were attempts to simulate the whole brain, I'm not talking only about some ANN on microchips, but brain simulations.

Vernor Vinge said that if we can scan a human brain and then simulate it: We can run it at 1000 times the speed. The brain will be able to do 1000 years of thinking in 1 year ect.
At this stage in history we have the computer power.
The trouble lies in cutting a brain up and scanning the 100 billion neurons and 12 million kilometres of axons and 100000 billion synapses.
And piecing together the connectome from all the data.
Sebastian Seung at MIT is working on automating this scanning process with machine learning. By gathering training data from thousands of people playing his Eyewire game
Henry Markram in Europe tried to do something similar with his Blue Brain Project.
He attempted to simulate the neocortical column of a rat. The EU gave him a billion euros to do this. Unfortunately he has been heavily criticised by the Neuroscience community. They claim that we don't know the physiology  well enough to make a valid simulation.
Check out his Ted Talk.
In the 1970s Sydney Brenner achieved a full brain scan of a C Elegans worm. This worm has one of the simplest biological neural networks having only 302 neurons.
Here is a picture of its connectome:

An accurate computer simulation of this worm would be a major stepping stone to uploading a human brain.

Neuromorphic engineering offers various of ways of reproducing the brain’s processing ability.
The recent technology can include IBM's multi-artificial-neuron computer, the world's first artificial nanoscale stochastic phase-change neuronsarticle. Check the: Stochastic phase-change neurons study.
Other can include

Neurogrid, built by Brains in Silicon at Stanford University is another example for brain simulation. It uses analog computation to emulate ion-channel activity. It emulates neurons using digital circuitry designed to maximize spiking throughputwiki.
SpiNNaker, which is a manycore computer to simulate the human brain (see Human Brain Project).
SyNAPSE, a DARPA neuromorphic machine technology, that scales to biological levels. Each chip can have over a million of electronic “neurons” and 256 million electronic synapses between neurons. In 2014 the 5.4 billion transistor chip had one of the highest transistor counts of any chip ever produced. The program is undertaken by HRL, HP and IBM.


text:
Is there any research on the application of AI for drug design?
Is there any research on the application of AI for drug design?
For example, you could train a deep learning model about current compounds, substances, structures, and their products and chemical reactions from the existing dataset (basically what produces what). Then you give the task to find how to create a gold or silver from the group of available substances. Then the algorithm will find the chemical reactions (successfully predicting a new one that wasn't in the dataset) and gives the results. Maybe the gold is not a good example, but the practical scenario would be the creation/design of drugs that are cheaper to create by using much simpler processes or synthesizing some substances for the first time for drug industries.
Was there any successful research attempting to achieve that using deep learning algorithms?

Yes, many people have worked on this sort of thing, due to its obvious industrial applications (most of the ones I'm familiar with are in the pharmaceutical industry). Here's a paper from 2013 that claims good results; following the trail of papers that cited it will likely give you more recent work.

Yes, there were successful attempts at predicting the interaction between molecules and biological proteins which have been used to identify potential treatments by using convolutional neural networks.
For example in 2015, the first deep learning neural network has been created for structure-based drug design which trains 3-dimensional representation of chemical interactions which works similar to how image recognition works (composing smaller features into larger, complex structures).wiki
Study: AtomNet: A Deep Convolutional Neural Network for Bioactivity Prediction in Structure-based Drug Discovery

Another approach is to use evolutionary artificial neural networks which can achieve great optimization results.
Furthermore, the paper from 2015 demonstrated heuristic chemical reaction optimization (CRO) which is inspired by the nature of chemical reactions (e.g. transforming the unstable substances into stable ones). Simulation results show that CRO outperforms many evolutionary algorithms by population-based metaheuristics mimicking the transition of molecules and their interactions in a chemical reaction.
Sample pseudocode algorithm for predicting synthesis given ω1, ω2 (from the above paper):
 1: for all Matrices and vectors m in ω′ do
 2:     for all Elements e in m do
 3:         Generate a real r between 0 and 1
 4:         if r > 0.5 then
 5:             e =counterpart in m1
 6:         else
 7:             e =counterpart in m2
 8:         end if
 9:     end for
10: end for

which is used to generate a new solution ω′ based on two given solutions ω1 and ω2.

No one mentioned Planning chemical syntheses with deep neural networks and symbolic AI (published in Nature - here's arxiv link). Very impressive application of deep reinforcement learning - they use Monte Carlo Tree Search with a policy network (a-la AlphaZero) to do chemical synthesis planning. Authors claim that double blind test shown that professional chemists cannot distinguish between human- and AI-generated synthesis pathways.
Speaking of Alpha* stuff - AlphaFold is a quite recent result in protein folding, which shown breakthrough-level performance compared to all the competition.


text:
Is there any artificial intelligence that possesses "concentration"?
Humans can do multiple tasks at the same (e.g. reading while listening to music), but we memorize information from less focused sources with worse efficiency than we do from our main focus or task.
Do such things exist in the case of artificial intelligence? I doubt, for example, that neural networks have such characteristics, but I may be wrong.

Douglas Hofstadter's CopyCat architecture for solving letter-string analogy problems was deliberately engineered to maintain a semantically-informed notion of 'salience', i.e. given a variety of competing possibilities, tend to maintain interest in the one that is most compelling. Although the salience value of (part of) a solution is ultimately represented numerically, the means by which it determined is broadly intended to correspond (at least functionally) to the way 'selective attention' might operate in human cognition.

Concentration, perhaps easier to grasp as "focus" or "attention", has quite some history in AI. This answer mentions CopyCat, and there was work with neural networks in the 80s as well (e.g. from Fukushima, creator of the Neocognitron).
More recently, attention in neural networks is gaining momentum. The mechanisms are applied to learning in deep neural networks.


text:
How close are we to creating Ex Machina?
Are there any research teams that attempted to create or have already created an AI robot that can be as close to intelligent as these found in Ex Machina or I, Robot movies?
I'm not talking about full awareness, but an artificial being that can make its own decisions and physical and intellectual tasks that a human being can do?

We are absolutely nowhere near, nor do we have any idea how to bridge the gap between what we can currently do and what is depicted in these films.
The current trend for DL approaches (coupled with the emergence of data science as a mainstream discipline) has led to a lot of popular interest in AI.
However, researchers and practitioners would do well to learn the lessons of the 'AI Winter' and not engage in hubris or read too much into current successes.
For example:

Success in transfer learning is very limited.
The 'hard problem' (i.e. presenting the 'raw, unwashed environment' to the machine and having it come up with a solution from scratch) is not being
addressed by DL to the extent that it is popularly portrayed: expert human knowledge is still required to help decide how the input should be framed, tune parameters, interpret output etc.

Someone who has enthusiasm for AGI would hopefully agree that the 'hard problem' is actually the only one that matters. Some years ago, a famous cognitive scientist said "We have yet to successfully represent even a single concept on a computer".
In my opinion, recent research trends have done little to change this.
All of this perhaps sounds pessimistic - it's not intended to. None of us want another AI Winter, so we should challenge (and be honest about) the limits of our current techniques rather than mythologizing them.

You said in the deleted comments that it was Douglas Hofstadter who said "We have yet to successfully represent even a single concept on a computer". Where can I find a reference that supports that?

Based on the success of IBM Watson and the amazing advances in tackling numerous hard tasks using deep learning in the past 3 years, I think a large high-tech company like Google or Amazon will create a useful conversational bot in no more than 10 years.  (I've worked on the fringes of AI for 25 years and have followed the tech for even longer.  These are exciting times.)
Initially, your very own AI companion ("Her"?) won't be capable of deeper philosophical conversation or insightful interpretation of novels or the human condition.  But it will be able to write / speak in full paragraphs on topics like the best choice among 5 possible routes between point A and B, or summarizing the plot of a book or the gist of a news story, or why one product is better than another (e.g. based on assessing hundreds of Amazon reviews).  And yes, it will be able to understand full spoken sentences from you, and generate both queries and answers.
I'm convinced such a bot will be useful enough that most of us will want one.  Of course you won't need to buy a special piece of hardware, like the Amazon Echo.  It'll be available via software on your smartphone, though the computing is likely to reside on the cloud (since that's where the data is).
Frankly, I think this is where the next innovations in smartphones will arise -- verbal interfaces that do a better job hearing and speaking and disambiguating using context about you and the kinds of questions you are likely to ask.

Our current approaches to AI are too inefficient to result in anything remotely close to what an average human would perceive as artificial senient beings.
Current approaches to AI involve a simulation of our own capacity for learning by creating fully functional computation machines capable of re-programming themselves. While that's definitely a good start with respect to understanding the nature of intelligence, it's still a far cry from actually creating genuine artificial intelligence.
It is not just our capacity to learn that evolved. Our very brains themselves evolved from rudimentary biochemical components at the intra-cellular level to the fascinating, complex organs they are today, along with our bodies as a whole evolving from simple single cell life to homo sapiens. So to create genuine artificial intelligence, it may actually make most sense to first start with replicating that process : creating artificial life with the capacity to evolve. It may actually make most sense to first start with creating artificial DNA and artificial cells, and move on from there.
Anyway, in this article as well as this article, Silicon Valley renegade Alex St John goes in greater detail on why something like Skynet, V.I.K.I. or anything like it is unlikely in the near future and may even never be within our grasp and why our current approach to artificial intelligence is a bad one.

A simulation of a proof is a proof. Whether a simulation of intelligence is intelligence is an open question which (with our current knowledge of physics) appears impossible to answer in the negative based purely on theoretical arguments, but could empirically be answered positively via something such as the Turing Test.

@NietzscheanAI : The article I referenced explains in greater detail why a simulation of intelligence isn't the same as actual intelligence.

I read it. Many leading physicists (e.g. David Deutsch) believe that the universe is a quantum computer, which can be simulated by a classical computer.

@NietzscheanAI : Yes, the universe does appear to be a giant quantum computer. I agree with you here. The problem with our current approaches to AI isn't so much that artificial brains are impossible, but that we're trying to create brains without first understanding how brains are created in living beings. Starting with creating artificial life that can evolve towards higher forms of existence may be a better approach to developing AI, as that is how we got here today... See also this other article by the same author.

the argument about 'starting with simpler forms of life' is well-established in the AI community,  originating with work by Rodney Brooks in the 1990s that established the 'New AI' of 'embodied cognition'. See the papers 'Elephants don't play chess', 'Intelligence without Representation' and the book 'Pre-Cambrian Intelligence' for more details.

->The universe is a quantum computer (maybe)
-> The universe has developed intelligence, in our understanding, by starting with simple life and guiding it towards something more complicated by Darwinian principles
-> Starting with simple forms and guiding them is, as Nietz points out, well-established.
-> Quantum evolutionary algorithms are already heralded for a speedup (e.g. https://arxiv.org/ftp/arxiv/papers/1303/1303.1243.pdf).
Leaves you wondering if the argument goes full circular doesn't it?

@NietzscheanAI : Our current approaches to AI are too inefficient to ever result in anything remotely close to what an average human would perceive as artificial senient beings. St John's point was - and I tend to agree - that it makes more sense to first start with artificial DNA and artificial cells with evolutionary capacities and set move on from there.

@Atkrye : I modified my initial answer to add more clarification on my position.

"heavier-than-air flying machines are impossible" _ Lord Kelvin 1895

7 years later the Wright brothers built one.

Currently we have many powerful narrow AI (good at special tasks) but we have no idea how to unify them into a single system like in a biological brain.


text:
How machine learning can help with sustainable development and biological conservation?
Recently White House published the article: Preparing for the Future of Artificial Intelligence which says that the government is working to leverage AI for the public good and toward a more effective government.
I'm especially interested in how AI can help with computational sustainability, environmental management and Earth's ecosystem, such as biological conservation?

There are a variety of aspects where AI can help for the public good. Future studies of computational methods can contribute to a sustainable management ecosystem by its data acquisition, interpretation, integration and model fitting.
Prof. Tom Dietterich is a leader in combining computer science and ecological sciences to build the new discipline of Ecosystem Informatics which studies methods for collecting, analyzing and visualizing data on the structure and function of ecosystems.
His group is involved in many aspects of the ecosystem, such as:

Models that can predict species distribution and their presence/absence elsewhere in order to create species distribution and migration/dispersal maps (such as DataONE Datanet, eBird project, BirdCast) .
Bio-economic models require solving large Spatio-temporal optimization problems under uncertainty.
Ecosystem prediction problems require integrating heterogeneous data sources.
Algorithms for deployment (sensor placement), cleaning and analysis of sensor network data of resulting data to increase agricultural productivity (Project TAHMO), like deployment of 20,000 hydro-meteorological stations in Africa (e.g. computational problem where to place it).
Systems for capturing, imaging, and sorting bugs combined with general image processing/machine learning/pattern recognition tools for counting and classifying them (BugID project). The goal is to develop algorithms for automating biodiversity based on visual pattern recognition by using the computer vision method.

For further information about this work, check the following resources, see:

(video) "Challenges for Machine Learning in Computational Sustainability" (CRCS) (2013)
(slides) Tom Dietterich, Understanding and Managing Ecosystems through AI (2013)
(study) Adapting environmental management to uncertain but inevitable change (2015)


text:
What are the most pressing fundamental questions and gaps in AI research?
White House published the information about AI which requests mentions about the most important research gaps in AI that must be addressed to advance this field and benefit the public.
What are these exactly?

According to IBM Research organization in the response to the White House as part of preparing for the future of Artificial Intelligence, AI depends upon many long-term advances, not only from AI researchers but from many interdisciplinary teams of experts from many disciplines, including the following challenges:

Machine learning and reasoning.
Currently, AI systems use supervised learning using a huge amount of dataset of labelled data for training. This is very different to how humans learn by creating concepts, relationship, common sense reasoning which gives the ability to learn much without too much data. Therefore machine learning with common-sense reasoning capabilities should be researched further more.

Decision techniques.
Current AI-based systems have very limited ability for making decisions, therefore new techniques must be developed (e.g. modeling systemic risks, analyzing tradeoffs, detecting anomalies in context, analyzing data while preserving privacy).

Domain-specific AI systems.
The current AI-based system is lack of abilities to understand the variety of domains of human expertise (such as medicine, engineering, law and many more). The systems should be able to perform professional-level tasks such as designing problems, experiments, managing contradictions, negotiating, etc.

Data assurance and trust.
The current AI-based systems require huge amounts of data and their behaviour directly depends on the quality of this data which can be biased, incomplete or compromised. This can be expensive and time-consuming especially where it is used for safety-critical systems which potentially can be very dangerous.

Radically efficient computing infrastructure.
The current AI-based systems require unprecedented workloads and computing power which require the development of new computing architectures (such as neuromorphic).

Interpretability and explanations.
For people to follow AI suggestions, they need to trust systems, and this is only when they are capable of knowing users' intents, priorities, reasoning and they can learn from their mistakes. These capabilities are required in many business domains and professionals

Value alignment and ethics.
Humans can share the common knowledge of how the world function, the machine cannot. They can fail by having unintended and unexpected behaviour only because humans did not specify the right goals for them or they omitted essential training details. The systems should be able to correct the specification of the goals and avoid unintended and undesired consequences in the behaviour.

Social AI.
The AI-based systems should be able to work closely with humans in their professional and personal life, therefore they should have significant social capabilities because they can impact our emotions and our decision-making capabilities. Also, sophisticated natural language capabilities will need to be developed to allow a natural interaction and dialogue between humans and machines.

Source: Fundamental questions in AI research, and the most important research gaps (RFI questions 5 and 6). (link no longer available)

One way of illustrating the deficiencies of many of our current approaches at once is to consider how well it is possible to represent (equivalently, learn) commonsense knowledge.
In this area, the Winograd Schema Challenge has been proposed by Levesque, in which each problem is given as input natural language text containing an ambiguous pronoun:

Babar wonders how he can get new clothing. Luckily, a very rich old man who has always been fond of little elephants understands right away that he is longing for a fine suit.

Here, the program is asked to decide if 'he' in "he is longing for a fine suit" refers to Babar or the old man. Several thousand such questions have been collated and proposed as a more quantifiable alternative to the Turing test.
Despite the fact that the input domain is natural language, success here is undeniably a pre-requisite for AGI and (as implied in my answer here) for being able to interact ethically with the human world.


text:
Is it possible to implement reinforcement learning using a neural network?
I've implemented the reinforcement learning algorithm for an agent to play snappy bird (a shameless cheap ripoff of flappy bird) utilizing a q-table for storing the history for future lookups. It works and eventually achieves perfect convergence after enough training.
Is it possible to implement a neural network to do function approximation in order to accomplish the purpose of the q-table? Obviously, storage is a concern with the q-table, but it doesn't seem to ever train with the neural net alone. Perhaps training the NN on an existing q-table would work, but I would like to not use a q-table at all if possible.

Andrej Karpathy's blog has a tutorial on getting a neural network to learn pong with reinforcement learning. His commentary on the current state of the field is interesting.
He also provides a whole bunch of links (David Silver's course catches my eye). Here is a working link to the lecture videos.
Here are demos of DeepMinds game playing.
Get links to the papers at Andrej Karpathy's blog above
- rat fps

nice demos at 19 minutes into this

Yes, it is possible. The field of deep reinforcement learning is all about using deep neural networks (that is, neural networks with at least one hidden layer) to approximate value functions (such as the $Q$ function) or policies.
Have a look at the paper A Brief Survey of Deep Reinforcement Learning that gives a brief survey of the field.


text:
Is Deep Blue superintelligent or not?
When AI has some narrow domain, such as chess, where it can outperform the world's human masters of chess, does it make it a superintelligence or not?

Here is a related question.

There are three typical use cases for the phrase 'superintelligent':

Something that is at least as smart as a human for every task.
Something that is smart enough to improve itself on a fundamental level.
Something that is smarter than a human at a single task.

Most uses that I see are definition 2, but the other two are also somewhat common. I typically follow I. J. Good and use ultraintelligence for the first definition. (There are lots of arguments that something that fits definition 1 is likely to fit definition 2 as well, but this doesn't seem to be logically necessary.)
Obviously, Deep Blue only counts for definition 3.


text:
What are the necessary components to make an AI agent capable of self-programming?
An AI agent is often thought of having "sensors", "a memory", "machine learning processors" and "reaction" components. However, a machine with these does not necessarily become a self-programming AI agent. Beyond the parts mentioned above, is there any other elements or details necessary to make a machine capable of being a self-programming AI agent?
For example, a paper from 2011 declared that solving the optimization problem of maximizing the intelligence is a must-have feature for the self-programming process, as quoted below:

A system is said to carry out an instance of self-programming when it undergoes learning regarding some element of its "cognitive infrastructure", where the latter is defined as the fuzzy set of "intelligence-critical" features of the system; and the intelligence-criticality of a system feature is defined as its "feature quality," considered from the perspective of solving the optimization problem of maximizing the intelligence of a multi-feature system.

However, this description of "optimization of intelligence" is vague. Can anyone give a clear definition or better summary for the necessary components for self-programming agents?
This question is from the 2014 closed beta, with the asker having a UID of 23.

Here's pretty much the last word on self-optimization: Goedel Machines: Self-Referential Universal Problem Solvers Making Provably Optimal Self-Improvements by Juergen Schmidhuber.

At the highest level, all it needs is for the various systems already discussed to incorporate code objects. If it can interpret its source code / model architecture from the formatted text objects underpinning them, can 'understand' them in terms of having a useful ML model, and alter the code with its reaction, then it can self-program.
That is, the basic loop behind a recursively improving intelligence is simple. It examines itself, writes a new version, and then that new version examines itself and writes a new version, and so on.
The difficult component comes at lower levels. We don't need to invent a new concept like 'sensor,' what we need to do is build very, very sophisticated sensors that are equal to the task of understanding code well enough to detect and write improvements.

Although the knee-jerk computer science reaction to statements about systems that understand their own code is often to cite the halting problem, it turns out that AI approaches do have something useful to say about that: http://cs.stackexchange.com/questions/62393/machine-learning-to-predict-the-halting-problem

Right, the Halting Problem is a no-go theorem for fully understanding all possible code, but doesn't stop one from having a good understanding of most code that you actually come across.

Realistically the halting problem only really applies to 'turning machines' which are pure mathematical constructs that can't really exist (they require an infinite tape for unlimited memory for example) and can run for an infinite time. Real world computers have limited amounts of memory. There are ways to write software that can be formally verified (Idris, Coq). Using dependent types. Limit the size of an array (ie < the amount or ram). Not allowing a program to modify itself in memory in a way that could violate the formal proofs. No infinite loops. No byte loop/divide by zero. Etc...