Memory Size = $4GB/2B=2G \ words=2^{31} \ words$
If the processor has to refer to any word in this memory, it's address would contain 31 bits. Hence, the address bus will have a minimum size of 31 bits.
Size of a word is the smallest unit of data that can be fetched or stored in a basic operation. So, the data bus will have a minimum size of 16 bits (Size of a word)