While I was studying, few years ago , one of the most interesting topic was evolution, genetic algorithms and neural networks. Many of the problems I faced could be solved by using that knowledge.

I assume that since that time world has found more interesting algorithms, do you recommend some books worthy of reading in that domain ? 

Mainly I am looking a way to find patterns in huge amount of data. 

Ex. Having energy consumption for few years for one building.

Lets have an algorithm that is trying to find all possible repeatings in many variations.

Obviously at the beginning it should find that at the weekend energy consumption is less then average between Mon and Fri, but is that possible that an algorithm would tell me sth like this ? :

Every Friday at third week in even months user sleeps for 3 hours and in uneven months 5 hours ?

Or the algorithm finds it self that user like to save energy so if previous month he sees that he spent more then usual , next month he is trying to spent less, 

or lets assume that user eats breakfast at work but if he eats it at home then he will stay whole day at home, then lets assume that he has off day, then check energy usage after breakfast if is high, which means user is preparing to leave or is small which means that he wants to sleep and basically stays home. 

So I was wondering if this possible to auto detect this kind of patterns ? 

I am enthusiast of c# and interested in R.