1when you feel sure about what happened
must have + past participle
2when you think it is possible that something happened (less formal)
might have + past participle
3when you think it is possible that something happened (more formal)
may have + past participle
4when you think it is possible that something happened (less common)
could have + past participle
5when you think it is not possible that something happened (present proof)
can't have + past participle
6when you think it is not possible that something happened
couldn't have + past participle
7when you talk about something you wanted to do but didn't
would have + past participle
8when you want to express regret or reproach
should / shouldn't have + past participle
9when you want to express regret or reproach (less common)
ought to have + past participle