Who pays for the computational cost when validating a transaction Suppose Alice wants to validate a transaction (check this transaction does exist, not make a new transaction), 
and suppose her has not downloaded all transaction history.

My understanding is,

1) Alice will send a request to all her peer computer nodes and ask for the root the Merkel tree and hashes required to validate the transaction.

2) Some miners among her peer nodes will locate the block that includes the transaction

3) As block only stores Merkle tree root, not internal nodes, these miners will have to construct a Merkle tree from all transactions

4) The miners send block header and hashes (Merkle tree root and hashes on the authentication path) back to Alice.

Since the step 3 requires computational resources, my questions is why some nodes want to perform these computations for Alice? 
It seems that these nodes will not get paid for validating an old transaction.
You have a few things wrong.


  1) Alice will send a request to all her peer computer nodes and ask for the root the Merkel tree and hashes required to validate the transaction.


Alice probably already has the Merkle root, since it is part of the block header.  The first step in validating a transaction is making sure that block that contains it is real.  Even SPV clients store all the block headers of the entire chain, so they already have every Merkle root.


  2) Some miners among her peer nodes will locate the block that includes the transaction


This is more or less correct, except that the nodes do not have to be miners.  There are plenty of full nodes with full copies of the blockchain on the network that can be queried for these hashes.


  3) As block only stores Merkle tree root, not internal nodes, these miners will have to construct a Merkle tree from all transactions


Full nodes store all transactions, and returning the hashes of the Merkle tree is not too computationally intensive.  You can read more about this in the Transaction Data section of the Developer Guide.


  4) The miners send block header and hashes (Merkle tree root and hashes on the authentication path) back to Alice.


Again, it is not necessarily (or even usually) miners who will send the hashes of the Merkle path that are needed.  It will usually be non-mining full nodes.  And as mentioned before, the block header and Merkle root do not need to be requested.

In the end, Alice is the one validating her transaction, but doing so by using additional information provided by full nodes on the network.  The work that the full nodes do to supply this data is important, yet not too computationally intensive.  For example, my Raspberry Pi 2 works just fine as a full node.  As for who pays the full nodes for their service...well...nobody.  This has been a topic of much debate.

In the end, however, people operate full nodes for several reasons.  Off the top of my head:


so they can operate trustlessly
as a service to the overall health of the network (which, in turn, protects their own investments)
for research or business purposes


So even though supplying the required data for thin clients to do transaction verification can be viewed as charity, in reality there are incentives for participating...even if not directly financial.