Fundamentals of neural networks and artificial neural networks