<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Channel 9 - Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson/RSS"></atom:link>
	<image>
		<url>http://ak.channel9.msdn.com/ch9/ef35/1bb33112-c619-4539-9e15-9fc10010ef35/BrianBeckmanHiddenMarkovModelViterbiLINQ_100_ch9.jpg</url>
		<title>Channel 9 - Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<link></link>
	</image>
	<description>It&#39;s been WAY too long since we&#39;ve had Brian Beckman sharing knowledge, insights and perspectives on Channel 9. This changes now!  Needless to say, I was incredibly happy to spend an hour with Brian learning all about what he&#39;s up to these days. Not surprisingly, he&#39;s writing code and employing Rx&amp;nbsp;and monads to solve very interesting problems. In this conversation (a code lesson, algorithm survey, a splash&amp;nbsp;of random topical diversion), Brian explains and demonstrates his latest endeavor: implementing the Viterbi algorithm in C#. What&#39;s the Viterbi algorithm, Brian? What are hidden Markov models? What are you using this stuff for? Where does Rx fit into this? What&#39;s going on? By the way, it&#39;s awesome to&amp;nbsp;learn&amp;nbsp;that a Niner has been sharing C# monadic implementations with Brian (state monad, maybe monad). Of course, no conversation with Brian - a physicist by training and a software architect at Microsoft - is complete without talking about some current physics problem: Finding the elusive Higgs Boson is all the rage these days, so we talk about what it means. Brian also shares insights on Haskell, functional and hybrid programming languages (C# is imperative, but it provides functional capabilities like LINQ, for example, upon which Rx is built (Rx is LINQ-to-Streams or observable sequences of events, really)...). We also finally discuss&amp;nbsp;his previous work at MS that we never got a chance to talk to him about while&amp;nbsp;he was doing it. Before joining the Bing Mobile team, Brian was working on a project&amp;nbsp;to create a new functional programming language. What was it? Thank you, Brian!Happy holidays from Channel 9 wherever you are and whatever, if anything, you&#39;re celebrating!Notes and More:The code Brian demos&amp;nbsp;(download it, unzip it, launch VS, open the solution, then watch this video and play along): https://github.com/rebcabin/DotNetExtensionsImprovedFrom Wikipedia - information on Markov and Viterbi: A hidden Markov model (HMM) is a statistical Markov model in which the system being modeled is assumed to be a Markov process with unobserved (hidden) states The Viterbi algorithm is a dynamic programming algorithm for finding the most likely sequence of hidden states – called the Viterbi path – that results in a sequence of observed events, especially in the context of Markov information sources, and more generally, hidden Markov models.  </description>
	<link></link>
	<language>en</language>
	<pubDate>Thu, 20 Jun 2013 04:20:35 GMT</pubDate>
	<lastBuildDate>Thu, 20 Jun 2013 04:20:35 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>Awesome! Its amazing I actually understood all what he said about probablillity <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /> Also, interesting talk around the Higgs boson which I find very interesting myself! Happy holidays!</p><p>posted by martinmine</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604149045621660</link>
		<pubDate>Sun, 25 Dec 2011 13:01:44 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604149045621660</guid>
		<dc:creator>martinmine</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[Heavy stuff<p>posted by everydaypanos</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604409552228684</link>
		<pubDate>Sun, 25 Dec 2011 20:15:55 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604409552228684</guid>
		<dc:creator>everydaypanos</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>yay, brian <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-2.gif?v=c9' alt='Big Smile' /></p><p>posted by aL_</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604476175991901</link>
		<pubDate>Sun, 25 Dec 2011 22:06:57 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604476175991901</guid>
		<dc:creator>aL_</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>Brian - Thanks for the plug!</p><p>All - The implementation of the Maybe monad used in this project is a much older implementation.&nbsp; I've continued to improve it, adding operators, and I made a huge investment in improving the performance a number of months ago.&nbsp; I'm going to drop the latest version of the Maybe monad implementation into this project and see what the performance numbers come out as.&nbsp; I'll send Brian a pull request so you can see the results.</p><p>Beyond the Maybe monad implementation, I'm working on two others: Outcome and Result (which really derive from the Writer monad).&nbsp; My blog has an *older* post explaining the Maybe monad and it's implementation (I'm in the process of writing an updated post), and you can see the code for all of it on GitHub and try it out through Nuget.&nbsp; Watch my blog for more info on the Maybe, Outcome, and Result monad implementations.</p><ul><li><a href="http://blog.jordanterrell.com/post/Maybe-The-Uh-Stuff-That-Dreams-Are-Made-Of.aspx">http&#58;&#47;&#47;blog.jordanterrell.com&#47;post&#47;Maybe-The-Uh-Stuff-That-Dreams-Are-Made-Of.aspx</a> </li><li><a href="https://github.com/iSynaptic/iSynaptic.Commons">https&#58;&#47;&#47;github.com&#47;iSynaptic&#47;iSynaptic.Commons</a> </li><li><a href="http://nuget.org/packages/iSynaptic.Commons">http&#58;&#47;&#47;nuget.org&#47;packages&#47;iSynaptic.Commons</a> </li></ul><p>- Jordan</p><p>&nbsp;</p><p>posted by jordanterrell</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604529410728470</link>
		<pubDate>Sun, 25 Dec 2011 23:35:41 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604529410728470</guid>
		<dc:creator>jordanterrell</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>@<a href="/Shows/Going&#43;Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604529410728470">jordanterrell</a>: Thank you, Jordan.</p><p>C</p><p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604556386794604</link>
		<pubDate>Mon, 26 Dec 2011 00:20:38 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604556386794604</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>beautiful code <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-2.gif?v=c9' alt='Big Smile' /></p><p>posted by felix9</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604561976631375</link>
		<pubDate>Mon, 26 Dec 2011 00:29:57 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604561976631375</guid>
		<dc:creator>felix9</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>Both a &quot;Checking In&quot; &amp;&amp; &quot;Going Deep&quot; released on Christmas Day. What a good gift. Both, out of the park. Happy Holidays guys.</p><p>posted by faperdue2112</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604562571767299</link>
		<pubDate>Mon, 26 Dec 2011 00:30:57 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604562571767299</guid>
		<dc:creator>faperdue2112</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>I am a huge BrianMcn fan, but I wonder why he seems generally unsatisfied with immutable Maps a la F#. You can transform such persistent data structures typically with log n performance. When you consider that Dictionary is constant time, but with a comparatively big constant and memory footprint, the race seems a little more even.</p><p>EDIT: Meant Brian Beckman fan <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /> But also McN fan too still <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /></p><p>posted by bryanedds</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604604639361572</link>
		<pubDate>Mon, 26 Dec 2011 01:41:03 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604604639361572</guid>
		<dc:creator>bryanedds</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>@bryanedds : I've had a couple of good experiences with F# (simulations of card and dice games, just for fun) but I need some more &quot;seat time&quot; with it before weighing in. &nbsp;I'm particularly interested in particle filters (/slaps forehead), as well as Kalman filters (Unscented, Extended, and others) in reactive form. &nbsp;I can hammer them out with confidence in C# or take the deep dive and try them in F#. &nbsp;We'll see <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /></p><p>My first job out of grad school involved &quot;heavy industrial&quot; Kalman in Fortran II at Jet Propulsion Lab, where we used them to track everything we could track in the solar system. Daily runs had around 1,000 parameters and 25 million observations, but that was decades ago, and that kind of thing can be easily done on a windows phone now (required liquid nitrogren back then <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /> &nbsp;Imagine the applications!</p><p>posted by brianbec</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604716016656182</link>
		<pubDate>Mon, 26 Dec 2011 04:46:41 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604716016656182</guid>
		<dc:creator>brianbec</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>Elegant and cool as usual. (And the blackboard color crayon style looks nice.)</p><p>I like the way the monadic laws are being expressed here:</p><p><a href="https://github.com/iSynaptic/Monad-Comonad-Precis/blob/master/Precis.cs">https://github.com/iSynaptic/Monad-Comonad-Precis/blob/master/Precis.cs</a></p><p>posted by exoteric</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604967339621457</link>
		<pubDate>Mon, 26 Dec 2011 11:45:33 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604967339621457</guid>
		<dc:creator>exoteric</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>@<a href="/Shows/Going&#43;Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604716016656182">brianbec</a>:Awesome - I can't wait to hear your thoughts on F#. We can trivially implement a nice <a href="http://blogs.msdn.com/b/dsyme/archive/2011/05/30/nice-f-syntax-for-rx-reactive-extensions.aspx">Rx monad</a> for F#'s computation comprehensions. However, it looks like there are still a couple implementation issues with it that the Rx team might look at.</p><p>I'm just now exploring what reactive facilities that F# conveniently exposes. I'm using it for declarative simulation building (think objects that transform themselves through time according to their environment without any manual mutation or effectful message passing). Because there is no classical mutation (and no mutation at all in debug mode), it should allow automatic parallelization of the simulation by dependency analysis. It also should make reasoning about large simulations tractable (you should see the simulation engine behind the Sims... a gargantuan mess from the eyes of a functional programmer, yet taken for granted by OO people). For further detail, <a href="http://hubfs.fpish.net/topic/Some/0/74051">AML and DOL</a>.</p><p>posted by bryanedds</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634605134269422950</link>
		<pubDate>Mon, 26 Dec 2011 16:23:46 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634605134269422950</guid>
		<dc:creator>bryanedds</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>Wow, what a great video!</p><p>posted by Hamaze</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634605205918952762</link>
		<pubDate>Mon, 26 Dec 2011 18:23:11 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634605205918952762</guid>
		<dc:creator>Hamaze</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>@<a href="/Shows/Going&#43;Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634604967339621457">exoteric</a>:the blackboard style is a cheat <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /> &nbsp;try this (on Win7)</p><p>Windows key &amp; &quot;&#43;&quot; -- turn on built-in magnifier</p><p>Windows key &amp; &quot;-&quot; -- shrink back down</p><p>Control-Alt &quot;i&quot; -- inverse video your whole world</p><p>posted by brianbec</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634605210086367351</link>
		<pubDate>Mon, 26 Dec 2011 18:30:08 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634605210086367351</guid>
		<dc:creator>brianbec</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>What advantages does the MayBe monad have over an Option&lt;T&gt; ?</p><p>Option&lt;T&gt; can be thought as nullable over any &quot;kind&quot; of type (ref or val)</p><p>posted by AdamSpeight2008</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634605250583420205</link>
		<pubDate>Mon, 26 Dec 2011 19:37:38 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634605250583420205</guid>
		<dc:creator>AdamSpeight2008</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[What about http&#58;&#47;&#47;msdn.microsoft.com&#47;en-us&#47;library&#47;bb531208.aspx instead of Brian&#39;s AddUnconditionally &#63;<p>posted by Simon</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634605327488077005</link>
		<pubDate>Mon, 26 Dec 2011 21:45:48 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634605327488077005</guid>
		<dc:creator>Simon</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>@<a href="/Shows/Going&#43;Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634605327488077005">Simon</a>: that will work great if you have explicit data that you can represent in-line in the code (and it so happens I do in my Wikipedia example). &nbsp;But I don't see how to take advantage of these collection initializers when reading data from an external source. &nbsp;For an application like that, I can still Aggregate over a composable dictionary, as in lines 168 through 174 in my unit test DictionaryExtensionsTests.cs... like this</p><p><pre class="brush: csharp">const int range = 1280;
var kvps = Enumerable
    .Range(0, range)
    .Select(i =&gt; new KeyValuePair&lt;int, string&gt;(i, Convert.ToChar(i).ToString()))
    ;

dict = kvps.Aggregate(dict, (d, kvp) =&gt; d.AddUnconditionally(kvp));
</pre></p><p>posted by brianbec</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634605454216314148</link>
		<pubDate>Tue, 27 Dec 2011 01:17:01 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634605454216314148</guid>
		<dc:creator>brianbec</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>@<a href="/Shows/Going&#43;Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634605250583420205">AdamSpeight2008</a>:looks like Option&lt;T&gt; is F#'s implementation of the Maybe monad -- different in name only, so far as I can see. &nbsp;They even have a good fraction of the LINQ operators implemented on it. &nbsp;I hope to be able to say more about F#, in general, after getting some more seat time with it.</p><p>posted by brianbec</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634605460292749613</link>
		<pubDate>Tue, 27 Dec 2011 01:27:09 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634605460292749613</guid>
		<dc:creator>brianbec</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[I&#39;ve watched this three times now - it&#39;s that good&#33; - downloaded the source and had a play with it.<br><br>It was great to be able to look at the code and play with it. The functional aspects notwithstanding, it was great to look at some C&#35; that uses some of what I consider more advanced language features &#40;such as Linq, generics and extension methods&#41; and also using Test projects in a real world context.<br><br>I&#39;m still coming to terms with Functional programming, but videos like this are certainly a great help. One take home message I got from this video and Jordan and Brian&#39;s work is this&#58; investing time in learning Functional techniques to begin with will pay dividends in the future, not least because once you start using functional techniques your code becomes far easier to write &#40;fewer try...catch blocks all over the place etc.&#41; and therefore you become more productive.<br><br>Also, where did Brian get that great keyboard&#63; I want one&#33; <p>posted by Martin</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634607135267452983</link>
		<pubDate>Wed, 28 Dec 2011 23:58:46 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634607135267452983</guid>
		<dc:creator>Martin</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>Here is an F# version&nbsp; - just for kicks</p><p><a href="http://fsviterbi.codeplex.com">http://fsviterbi.codeplex.com</a></p><p>See F# source here: <a href="http://fsviterbi.codeplex.com/SourceControl/changeset/view/64363#1117175">http://fsviterbi.codeplex.com/SourceControl/changeset/view/64363#1117175</a></p><p>Test script: <a href="http://fsviterbi.codeplex.com/SourceControl/changeset/view/64363#1117178">http://fsviterbi.codeplex.com/SourceControl/changeset/view/64363#1117178</a></p><p>Some differences:</p><p>Actual code (excluding comments)&nbsp;is slighly shorter due to F#'s better type inference and&nbsp;buit-in tuple support.</p><p>Path copying is avoided due to 'structural sharing' of F# collections (list in this case)</p><p>The double loop calculation is parallelized using&nbsp;TPL wapper &quot;PSeq&quot; &nbsp;but can be easily serialized. This could be useful for very large state sets on multi-core machines.</p><p>posted by fwaris</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634607143828053281</link>
		<pubDate>Thu, 29 Dec 2011 00:13:02 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634607143828053281</guid>
		<dc:creator>fwaris</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>I also would&nbsp;prefer&nbsp;F#.</p><p>But how about using&nbsp;ReSharper with C#?</p><p>&nbsp;</p><p>posted by Thorium</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634607153891671977</link>
		<pubDate>Thu, 29 Dec 2011 00:29:49 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634607153891671977</guid>
		<dc:creator>Thorium</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>Brian - I dropped in the latest Maybe implementation and the performance improved slightly, but not enough to get excited by.&nbsp; It will have to stay &quot;art&quot; code - for now. There is a pull request in your GitHub queue to integration these changes, sourced from this repo: <a href="https://github.com/iSynaptic/DotNetExtensionsImproved">https&#58;&#47;&#47;github.com&#47;iSynaptic&#47;DotNetExtensionsImproved</a></p><p>All - That said, it shouldn't deter anyone from using monads in general or the Maybe implementation.&nbsp; My team is using it in performance critical production code with no problems.&nbsp; It entirely depends on your use case.&nbsp; If you interacting with web services, databases, or other IO, using monads is most likely <strong>not</strong> going to have a detrimental impact.&nbsp; However, if you doing computationally intensive work, my suggestion is you profile your code to see where it is spending CPU cycles.&nbsp; You may, or may not, find that usage of monads isn't the biggest bottleneck.</p><p>posted by jordanterrell</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634607645062972952</link>
		<pubDate>Thu, 29 Dec 2011 14:08:26 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634607645062972952</guid>
		<dc:creator>jordanterrell</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>@<a href="/Shows/Going&#43;Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634607645062972952">jordanterrell</a>:&nbsp;Yes, yes, yes, PROFILE to find perf bottlenecks! &nbsp;I jumped straight from the art code to the opposite extreme of in-place mutation, but did not profile the art code, just assumed that spinning up closures in State was the culprit.</p><p>And 100% agree that the provability and reliability of monadic functional code is worth it in many (most?) circumstances. &nbsp;On the perf critical path, profile and compromise as needed, focusing on implementation innards.</p><p>posted by brianbec</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634607677028724356</link>
		<pubDate>Thu, 29 Dec 2011 15:01:42 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634607677028724356</guid>
		<dc:creator>brianbec</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>@<a href="/Shows/Going&#43;Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634607143828053281">fwaris</a>:Very nice!</p><p>Anyone taking up my invitation to try a spelling corrector with this?</p><p>posted by brianbec</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634607678737491548</link>
		<pubDate>Thu, 29 Dec 2011 15:04:33 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634607678737491548</guid>
		<dc:creator>brianbec</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>@<a href="/Shows/Going&#43;Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634607678737491548">brianbec</a>: I'm looking for a good word frequency list, and this is what I've <a href="http://www.wordfrequency.info/files/entriesWithoutCollocates.txt">found</a>. &nbsp;Code soon to follow, I hope.</p><p>-Josh</p><p>posted by Jsoh</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634608191425159872</link>
		<pubDate>Fri, 30 Dec 2011 05:19:02 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634608191425159872</guid>
		<dc:creator>Jsoh</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>@brianbec: in AddConditionally, why TryGetValue&nbsp;rather than just ContainsKey?&nbsp; Was it just for symmetry with the &quot;art&quot; code?&nbsp; <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /></p><p>posted by PCB</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634608446772940394</link>
		<pubDate>Fri, 30 Dec 2011 12:24:37 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634608446772940394</guid>
		<dc:creator>PCB</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>@<a href="/Shows/Going&#43;Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634608446772940394">PCB</a>: yup, just for symmetry (euphemism for &quot;copy-paste&quot; code <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /> &nbsp;ContainsKey would have been better.</p><p>posted by brianbec</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634608819431310941</link>
		<pubDate>Fri, 30 Dec 2011 22:45:43 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634608819431310941</guid>
		<dc:creator>brianbec</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<br>Early in the video Brian mentioned he would like to make his Viterbi algorithm generic with respect to the numeric type used &#40;double, float, decimal,.... &#41;. The article below summarises a potential solution for this deficit in clr generics. <br><br>I dont know if this technique was ever used in production code but it deserves to be mentioned.<br>http&#58;&#47;&#47;www.codeproject.com&#47;KB&#47;cs&#47;genericnumerics.aspx<p>posted by Jan de Vaan</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634608819593335805</link>
		<pubDate>Fri, 30 Dec 2011 22:45:59 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634608819593335805</guid>
		<dc:creator>Jan de Vaan</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>@<a href="/Shows/Going&#43;Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634608191425159872">JoshRoss</a>: you will also need &quot;transition probabilities,&quot; which you can get from digram frequencies (frequencies of word pairs). One really cool way to get these is to analyze free texts on project gutenberg (public-domain ebooks as plain text!).&nbsp;</p><p>posted by brianbec</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634608827711999163</link>
		<pubDate>Fri, 30 Dec 2011 22:59:31 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634608827711999163</guid>
		<dc:creator>brianbec</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>@<a href="/Shows/Going&#43;Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634608819593335805">Jan de Vaan</a>: Yes, this looks like a promising direction.&nbsp;<span><a href="http://www.codeproject.com/KB/cs/genericnumerics.aspx">http&#58;&#47;&#47;www.codeproject.com&#47;KB&#47;cs&#47;genericnumerics.aspx</a></span></p><p>I also found out it's possible to go generic on numeric types in F# IFF the methods are INLINED. That's because the compiler just &quot;pastes&quot; the inlined code after resolving the generic type, and then the normal method lookup finds the appropriate operator implementations. Not sure if this approach is available in C#.</p><p>posted by brianbec</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634608830256782453</link>
		<pubDate>Fri, 30 Dec 2011 23:03:45 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634608830256782453</guid>
		<dc:creator>brianbec</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>@<a href="/Shows/Going&#43;Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634608827711999163">brianbec</a>: Or better yet, it seems that getting a <a href="http://blog.afterthedeadline.com/2009/12/04/generating-a-plain-text-corpus-from-wikipedia/">plain text dump of wikipedia</a>, isn't so difficult.</p><p>-Josh</p><p>posted by Jsoh</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634608991932363335</link>
		<pubDate>Sat, 31 Dec 2011 03:33:13 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634608991932363335</guid>
		<dc:creator>Jsoh</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>@<a href="/Shows/Going&#43;Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634608991932363335">JoshRoss</a>: or even a precomputed corpus from the same folks <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /></p><p><a href="http://blog.afterthedeadline.com/2010/07/20/after-the-deadline-bigram-corpus-our-gift-to-you/ ">http&#58;&#47;&#47;blog.afterthedeadline.com&#47;2010&#47;07&#47;20&#47;after-the-deadline-bigram-corpus-our-gift-to-you&#47;&#160;</a></p><p>posted by brianbec</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634609537311025602</link>
		<pubDate>Sat, 31 Dec 2011 18:42:11 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634609537311025602</guid>
		<dc:creator>brianbec</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>Awesome!&nbsp; My internet has been intermittent for 4 days, and was out completely for 2 ... now I finally have access again (hopefully not intermittent) and have to catch up on all these awesome Christmas presents ... thanks Charles and Brian!&nbsp; <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /></p><p>posted by Richard.Hein</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634609548370559006</link>
		<pubDate>Sat, 31 Dec 2011 19:00:37 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634609548370559006</guid>
		<dc:creator>Richard.Hein</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>finally ... cannot wait to see this ... downloading now - enjoying after work ... thank you guys</p><p>posted by CbrAInK</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634610821009526821</link>
		<pubDate>Mon, 02 Jan 2012 06:21:40 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634610821009526821</guid>
		<dc:creator>CbrAInK</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>Very clever guy. I am learning to code with C&#43;&#43; for flight simulation. It is quite a subject but it has helped me out no end. Superb article!</p><p>posted by builder66</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634610955493722978</link>
		<pubDate>Mon, 02 Jan 2012 10:05:49 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634610955493722978</guid>
		<dc:creator>builder66</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>Just had another little thought -- Since Viterbi is modifying its internal variables V and Path as observations present themselves in OnNext, Viterbi is, itself a little monad. &nbsp;It could inherit from the state monad or just built up on its own, but the point is that the OnNext function on the surface would internally call &quot;Bind&quot; or &quot;SelectMany&quot; on the Viterbi monad, that is, OnNext would just call the LINQ provider of Viterbi! &nbsp;This might shrink and robustify the code even more.</p><p>posted by brianbec</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634611414304150054</link>
		<pubDate>Mon, 02 Jan 2012 22:50:30 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634611414304150054</guid>
		<dc:creator>brianbec</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>Can Brian please put his dot files on GitHub? &nbsp;Would love to switch to another awesome dark theme.</p><p>posted by conard</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634613211260881267</link>
		<pubDate>Thu, 05 Jan 2012 00:45:26 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634613211260881267</guid>
		<dc:creator>conard</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>Even with C# and LINQ a compact functional implementation is possible:</p><p><pre class="brush: csharp">//using alias directive for P: using P = Double;
static IObservable&lt;IDictionary&lt;S, Tuple&lt;P, S&gt;&gt;&gt; ViterbiRx&lt;O, S&gt;
(IObservable&lt;Tuple&lt;O, IEnumerable&lt;S&gt;&gt;&gt; obsStates, Func&lt;S, P&gt; startingProb, Func&lt;S, S, P&gt; transitionProb, Func&lt;S, O, P&gt; emissionProb)
{
    return obsStates.Scan((IDictionary&lt;S, Tuple&lt;P, S&gt;&gt;)null, (v, o) =&gt; o.Item2.ToDictionary(target =&gt; target, target =&gt;
        v == null ? Tuple.Create(startingProb(target) * emissionProb(target, o.Item1), target)
        : v.Select(source =&gt; Tuple.Create(source.Value.Item1 * transitionProb(source.Key, target) * emissionProb(target, o.Item1), source.Key)).Max()));
}
</pre></p><p>posted by SteffenZeidler</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634617812839996170</link>
		<pubDate>Tue, 10 Jan 2012 08:34:43 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634617812839996170</guid>
		<dc:creator>SteffenZeidler</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[Nice video, clear content, great speaker&#58;<br>Any change we get Brian for a series on&#58;<br>&#34;Implementing well known algorithms in functional style<br>with an IObservable topping&#34;<br><br><p>posted by Suspended thread</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634617930610657518</link>
		<pubDate>Tue, 10 Jan 2012 11:51:01 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634617930610657518</guid>
		<dc:creator>Suspended thread</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>Hi Brian, you said you had some problems with generic operators ... there's a library here (a friend of mine&nbsp;just told me about&nbsp;it)&nbsp;that you may find useful in the future:&nbsp; <a href="http://www.yoda.arachsys.com/csharp/miscutil/usage/genericoperators.html">http://www.yoda.arachsys.com/csharp/miscutil/usage/genericoperators.html</a></p><p>&nbsp;</p><p>posted by Richard.Hein</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634618094622880225</link>
		<pubDate>Tue, 10 Jan 2012 16:24:22 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634618094622880225</guid>
		<dc:creator>Richard.Hein</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[I&#39;d like to see this in C&#43;&#43;11, please&#33;<p>posted by bubble</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634618163021865554</link>
		<pubDate>Tue, 10 Jan 2012 18:18:22 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634618163021865554</guid>
		<dc:creator>bubble</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p><a class="permalink" title="Comment Permalink" href="/Shows/Going&#43;Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634617812839996170">2 days&nbsp;ago</a>, <a href="/Niners/SteffenZeidler">SteffenZeidler</a> wrote</p><p>Hi, Steffen -- I was after something a little deeper, such as a user-defined numerical class (sketching, now), say logarithmic doubles, in which operator * is mapped to arithmetic &#43; on doubles. &nbsp;I couldn't find a way to make Viterbi generic over both user-supplied classes with operator overloads AND over built-in types, where operators are not the same kind of thing as operator overloads. &nbsp;I could wrapper all the built-in types with operator * that maps to * etc., but that's &nbsp;a lot of work. &nbsp;That's essentially implementing my own &quot;Numeric Tower&quot; over the CLR basic types, and it didn't seem worth it to me to get a corner case like logarithmic double. &nbsp;Maybe there *is* a way, I just couldn't find it. &nbsp;Now I'm going to look at Richard.Hein's link <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /></p><p>&nbsp;</p><p>Edit: just an aside about why logarithmic doubles might be valuable: multiplying a bunch of small probabilities over and over eventually underflows doubles. &nbsp;Bad. &nbsp;Sometimes better to add logarithms of probabilities to get the log of the product of the probabilities.&nbsp;</p><p>posted by brianbec</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634620201605523476</link>
		<pubDate>Fri, 13 Jan 2012 02:56:00 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634620201605523476</guid>
		<dc:creator>brianbec</dc:creator>
	</item>
	<item>
		<title>Re: Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson</title>
		<description>
			<![CDATA[<p>Hi Brian -- For a simple generic numerical solution could be used an additional function parameter mul.</p><p><pre class="brush: csharp">static IObservable&lt;IDictionary&lt;S, Tuple&lt;P, S&gt;&gt;&gt; ViterbiRx&lt;O, S, P&gt;
(IObservable&lt;Tuple&lt;O, IEnumerable&lt;S&gt;&gt;&gt; obsStates, Func&lt;S, P&gt; startingProb, Func&lt;S, S, P&gt; transitionProb, Func&lt;S, O, P&gt; emissionProb, Func&lt;P, P, P&gt; mul)
{
    return obsStates.Scan((IDictionary&lt;S, Tuple&lt;P, S&gt;&gt;)null, (v, o) =&gt; o.Item2.ToDictionary(target =&gt; target, target =&gt;
        v == null ? Tuple.Create(mul(startingProb(target), emissionProb(target, o.Item1)), target)
        : v.Select(source =&gt; Tuple.Create(mul(mul(source.Value.Item1, transitionProb(source.Key, target)), emissionProb(target, o.Item1)), source.Key)).Max()));
}
</pre></p><p>Test:</p><p><pre class="brush: csharp">var obsResults = ViterbiRx&lt;string,string,double&gt;(mul: (x1, x2) =&gt; x1 * x2, ...);
var res = obsResults.ToListObservable();
Debug.Assert(Math.Round(res.Value[Rainy].Item1, 6) == 0.013440);
Debug.Assert(Math.Round(res.Value[Sunny].Item1, 6) == 0.002592);
Debug.Assert(res.Value.OrderBy(x =&gt; x.Value).Last().Key == Rainy);
Debug.Assert(res[2][Rainy].Item2 == Rainy);
Debug.Assert(res[1][Rainy].Item2 == Sunny);
</pre></p><p>posted by SteffenZeidler</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634620417928162080</link>
		<pubDate>Fri, 13 Jan 2012 08:56:32 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Hidden-Markov-Models-Viterbi-Algorithm-LINQ-Rx-and-Higgs-Boson#c634620417928162080</guid>
		<dc:creator>SteffenZeidler</dc:creator>
	</item>
</channel>
</rss>