Genetic Algorithm, Neural Network, Deep Learning, Machine Learning Similarities and Applications? I am a computer engineering student and trying to get the idea behind all these Artificial Intelligence Concepts and applications. I know little theoretically about machine learning and some high level brief introduction of artificial intelligence as a whole and neural network. What i am interested in is knowing the similarities or difference between the concepts: Deep Learning, Genetic Algorithm/Programming, Artificial Neural Networks and Machine Learning. How do they relate or how they help each other? What are their particular applications?

I google a bit but could not satisfy myself with the answers i got. As a beginner i would like to know what particular part they each play in Artificial Intelligence field. What type of problem they each solve and how?

Update: 

If the question is too broad, i am also expecting a broad answer.Even, if the broad answer is too much then can you please tell me any particular book perhaps that might contain overview of these topics, so that i can relate by myself and go on learning.
Here's a quick dictionary:


Machine learning is a very broad subject encompassing mainly algorithms whose goal is classifying inputs to different categories. For example, an automated post system has to be able to read letters and digits. After the characters are segmented into individual characters using techniques from computational geometry, a computerized algorithm converts the images into digits and letters. Such an algorithm is trained using classified examples, that is, many examples of each digit and letter which are shown to the algorithm.
Neural networks are a machine learning algorithm loosely based on the works of the nervous system, including the brain. They are examples of the paradigm of deep learning.
Genetic algorithms are used to solve optimization problems (i.e. find the most stable structure supporting a bridge). They are loosely based on evolutionary biology.