Streaming Algorithms for the Set Cover Problem