{"id":8094,"date":"2014-11-15T11:03:53","date_gmt":"2014-11-15T10:03:53","guid":{"rendered":"http:\/\/djalil.chafai.net\/blog\/?p=8094"},"modified":"2014-11-23T19:35:31","modified_gmt":"2014-11-23T18:35:31","slug":"metropolis-hastings-algorithm-who-cares","status":"publish","type":"post","link":"https:\/\/djalil.chafai.net\/blog\/2014\/11\/15\/metropolis-hastings-algorithm-who-cares\/","title":{"rendered":"Metropolis-Hastings algorithm - Who cares?"},"content":{"rendered":"<p style=\"text-align: justify;\"><a href=\"http:\/\/djalil.chafai.net\/blog\/wp-content\/uploads\/2011\/08\/LondonScienceMuseumsReplicaDifferenceEngine1.jpg\"><img loading=\"lazy\" class=\"aligncenter size-medium wp-image-2243\" src=\"http:\/\/djalil.chafai.net\/blog\/wp-content\/uploads\/2011\/08\/LondonScienceMuseumsReplicaDifferenceEngine1-300x269.jpg\" alt=\"Closeup of the London Science Museum's difference engine.\" width=\"300\" height=\"269\" srcset=\"https:\/\/djalil.chafai.net\/blog\/wp-content\/uploads\/2011\/08\/LondonScienceMuseumsReplicaDifferenceEngine1-300x269.jpg 300w, https:\/\/djalil.chafai.net\/blog\/wp-content\/uploads\/2011\/08\/LondonScienceMuseumsReplicaDifferenceEngine1.jpg 417w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Certain probabilists and statisticians like to repeat that the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Metropolis%E2%80%93Hastings_algorithm\">Metropolis-Hastings algorithm<\/a> is one of the most important algorithms on earth, and <a href=\"http:\/\/en.wikipedia.org\/wiki\/Name-dropping\">drop<\/a> the name of <a href=\"http:\/\/en.wikipedia.org\/wiki\/Persi_Diaconis\">Diaconis<\/a> to reinforce the statement. Well, beyond earth, this might be true in the whole universe, who knows?<\/p>\n<p style=\"text-align: justify;\">Let us recall that the Metropolis-Hastings algorithm is a remarkable recipe to produce a Markov kernel which can be simulated and which admits a prescribed probability distribution, known up to a multiplicative constant, as its unique reversible invariant distribution. The idea behind the Metropolis-Hastings algorithm is very simple, and can be traced back to an article published in 1953 entitled <em>Equation of State Calculations by Fast Computing Machines<\/em>, written by <a href=\"http:\/\/en.wikipedia.org\/wiki\/Nicholas_Metropolis\">Nicholas Metropolis<\/a>, Arianna &amp; Marshall Rosenbluth, and Augusta &amp; <a href=\"http:\/\/en.wikipedia.org\/wiki\/Edward_Teller\">Edward Teller<\/a>, and to an article published in 1970 entitled <em>Monte Carlo Sampling Methods Using Markov Chains and Their Applications<\/em>, written by\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/W._K._Hastings\">W. Keith Hastings<\/a>. It mixes the idea of <a href=\"http:\/\/en.wikipedia.org\/wiki\/Rejection_sampling\">rejection sampling<\/a> of <a href=\"http:\/\/en.wikipedia.org\/wiki\/Georges-Louis_Leclerc,_Comte_de_Buffon\">Georges-Louis Leclerc Comte de Buffon<\/a> and <a href=\"http:\/\/en.wikipedia.org\/wiki\/John_von_Neumann\">John von Neumann<\/a> with the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Markov_chain\">Markov chain<\/a> concept. By the way, Edward Teller is among other things credited as being the <a href=\"http:\/\/en.wikipedia.org\/wiki\/History_of_the_Teller%E2%80%93Ulam_design\">mother of the US H-bomb together with the father Stanislaw Ulam (who was by the way fond of the Monte-Carlo method)<\/a>. Nowadays, the Metropolis-Hastings algorithm is available in many versions and is at the heart of the so-called <a href=\"http:\/\/en.wikipedia.org\/wiki\/Markov_chain_Monte_Carlo\">Monte-Carlo-Markov-Chain (MCMC)<\/a> numerical algorithms.<\/p>\n<p style=\"text-align: justify;\">Yes the Metropolis-Hastings algorithm is a remarkable widely used non exact algorithm for stochastic simulation. However, the most important algorithms used in the world are probably more related to information\/signal processing,\u00a0 number crunching, linear algebra, and optimization, such as the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Huffman_coding\">Huffman coding algorithm<\/a>, the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Lempel%E2%80%93Ziv%E2%80%93Welch\">Lempel-Ziv-Welch coding algorithm<\/a>, the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Hamming_code\">Hamming coding algorithm<\/a>, the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Reed%E2%80%93Muller_code\">Reed-Muller coding algorithm<\/a>, the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Low-density_parity-check_code\">Gallager coding algorithm<\/a>, the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Gram%E2%80%93Schmidt_process\">Gram-Schmidt algorithm<\/a>, the <a href=\"http:\/\/en.wikipedia.org\/wiki\/QR_algorithm\">QR algorithm<\/a>, the <a href=\"http:\/\/en.wikipedia.org\/wiki\/LU_reduction\">LU algorithms<\/a>,\u00a0 the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Gaussian_elimination\">Gauss elimination algorithm<\/a>, the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Euclidean_algorithm\">Euclidean algorithm<\/a>, the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Newton%27s_method_in_optimization\">Newton algorithm<\/a>, the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Simplex_algorithm\">Simplex algorithm<\/a>, the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Hungarian_algorithm\">Hungarian algorithm<\/a>, the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Fast_Fourier_transform\">Fast Fourier Transform algorithm<\/a>, etc.<\/p>\n<p><strong>Further reading.<\/strong><\/p>\n<ul>\n<li><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_algorithms\">List of algorithms (Wikipedia)<\/a><\/li>\n<li><a href=\"\/scripts\/search.php?q=Cipra+The+Best+of+the+20th+Century+Editors+Name+Top+10+Algorithms\">Cipra - The Best of the 20th Century - SIAM Editors Name Top 10 Algorithms<\/a><\/li>\n<li><a href=\"\/scripts\/search.php?q=Dongarra+Sullivan+The+Top+10+Algorithms+IEEE+Computer+Sociery\">Dongarra &amp; Sullivan - The Top 10 Algorithms - IEEE Computer Society<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Certain probabilists and statisticians like to repeat that the Metropolis-Hastings algorithm is one of the most important algorithms on earth, and drop the name of&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/djalil.chafai.net\/blog\/2014\/11\/15\/metropolis-hastings-algorithm-who-cares\/\">Continue reading<span class=\"screen-reader-text\">Metropolis-Hastings algorithm - Who cares?<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":186},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/posts\/8094"}],"collection":[{"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/comments?post=8094"}],"version-history":[{"count":42,"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/posts\/8094\/revisions"}],"predecessor-version":[{"id":8141,"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/posts\/8094\/revisions\/8141"}],"wp:attachment":[{"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/media?parent=8094"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/categories?post=8094"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/tags?post=8094"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}