Most of these previous threads should help:
https://www.chess.com/forum/search?keyword=best+software
I use HIARCS because it's reputed to have humanlike play and the DB is easy to search. Any modern program can help though. Have fun doing your research!
Regarding the today super-developed Chess Softwares, I would like to learn your comments on two points:
1. Playing against a good Chess program in fact helps one improving his chess play?
2. Which market available Chess program is the best for learning purposes?
I appreciate and thank you for your comments.