One way to tell if its a physical fault, when you turn the PC on, put it in to the BIOS.
Very easy to do, as soon as you turn the PC on, keep tapping either the 'F1','F2', 'F10' or 'delete' key. (It should say on the screen when you first turn it on, e.g. 'F10 to enter setup'). When you have put the PC in to the BIOS, leave it on this screen for a couple of hours and see if it restarts.

An over heating CPU can cause the PC to restart. You should be able to see the temperature of the CPU in the BIOS, use the arrow keys to navigate to the power screen and look for the CPU temp. It shouldn't be much over 60-70C.
If it does restart from the BIOS screen its most likely to be a physical or hardware fault. If it doesn't restart on this screen then it is likely to be a software/windows fault.