De tout algorithme d'échantillonnage générique, on peut dériver un algorithme d'optimisation.
En effet, pour maximiser une fonction arbitraire , il suffit de tirer des échantillons de . Pour suffisamment petit, ces échantillons tomberont près du maximum global (ou maxima local en pratique) de la fonction .f
Par «échantillonnage», je veux dire, le prélèvement d'un échantillon pseudo-aléatoire à partir d'une distribution étant donné une fonction de log-vraisemblance connue jusqu'à une constante. Par exemple, l'échantillonnage MCMC, l'échantillonnage Gibbs, l'échantillonnage de faisceau, etc. Par «optimisation», j'entends la tentative de trouver des paramètres maximisant la valeur d'une fonction donnée.
L'inverse est-il possible? Compte tenu d'une heuristique pour trouver le maximum d'une fonction ou d'une expression combinatoire, peut-on extraire une procédure d'échantillonnage efficace?
La console HMC, par exemple, semble tirer parti des informations sur le gradient. Pouvons-nous construire une procédure d'échantillonnage qui tire parti d'une approximation de type BFGS de la Hesse? (modifier: apparemment oui: http://papers.nips.cc/paper/4464-quasi-newton-methods-for-markov-chain-monte-carlo.pdf ) Nous pouvons utiliser les SCTM dans les problèmes combinatoires, pouvons-nous traduire cela dans une procédure d'échantillonnage?
Contexte: une difficulté d'échantillonnage est souvent que la majeure partie de la masse de la distribution de probabilité se situe dans une très petite région. Il existe des techniques intéressantes pour trouver de telles régions, mais elles ne se traduisent pas directement en procédures d'échantillonnage non biaisées.
Edit: J'ai maintenant le sentiment persistant que la réponse à cette question est quelque peu équivalente à l'égalité des classes de complexité #P et NP, ce qui rend la réponse probablement "non". Cela explique pourquoi chaque technique d'échantillonnage donne une technique d'optimisation mais pas l'inverse.