The correct option is B Has
Option A 'has' is the correct answer. The subject here is 'logic', which is singular. The verb must agree with the subject, so when the subject is singular, the verb must also be singular.
'Option B: 'Have' is plural whereas the 'logic' is single.
Option C: 'Had' refers to past tense. But the given sentence presents a general truth. In that case, it must be in simple present tense.
Option D: Similarly, 'having' refers to a present continuous tense.
Hence options B, C and D are incorrect.