+0
What I want to ask about 'should have done' is whether it can be used forlogical assumption or conclusion in the past, that is,

You should have done your homework ( you didn't do your homework) (criticism)

He should have done your homework ( There is a (big) possibility that he did his homework ( deduction)

The latter sentence and such sentences may be true????

Here is a commnent from http://www.bbc.co.uk/worldservice/learningenglish/radio/specials/1535_questionanswer/page26.shtml

'Should have' is used to talk about past events which did not happen or may not have happened.

For example:

I should have finished this work by now

OR

I should have studied harder for my exams.

In both the sentences above, the speaker might be expressing regret and/or criticism for not having done something.

We also use should have to express unfulfilled obligations, for example:

He should have helped his mother carry the shopping.

Now 'must have' is used to express something that the speaker has deduced or is certain about in relation to the past.

For example, if you wake up in the morning and you see the ground is wet outside, you might say:

"It must have rained overnight".

So let's look at a sentence with both should have and must have in it...

Jane should have arrived by now; she must have missed the bus".

In this situation, we would expect Jane to have arrived by now, but as she hasn't, we come to the conclusion that her lateness is due her having missed the bus.
+0
I am not sure of your question, but without further context both of these interpretations are possible:

He should have done his homework ( = he didn't do his homework) (criticism)
He should have done his homework ( = there is a possibility that he did his homework) (deduction)
+0
whether it can be used for ''logical assumption or conclusion in the past"
Not exactly. The assumption or conclusion is in the present, but it can be an assumption or conclusion about something in the past.

I haven't watched TV today, but I'll turn it on now to see who won the game. Surely the winner should have been announced by now.

Also possible (with the same meaning):
Surely the winner will have been announced by now.
Surely the winner must have been announced by now.


More common, however:
Surely the winner has been announced by now.

CJ
Try out our live chat room.
Comments  
What I exactly want to learn about 'should have done' is whether it can be used forlogical assumption or conclusion in the past
 CalifJim's reply was promoted to an answer.
Students: We have free audio pronunciation exercises.
Thank you, Califjim and Mister Micawber
Mister MicawberHe should have done his homework ( = there is a possibility that he did his homework) (deduction
So, to avoid ambiguity, isn't it better to use "must have done" instead of "should have done" to express deduction? Or, are there 'shades' of meaning in it which I, as a non-native, cannot catch with?