<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>http://www.lambda.ee/w/index.php?action=history&amp;feed=atom&amp;title=Iti0210lab142</id>
	<title>Iti0210lab142 - Redigeerimiste ajalugu</title>
	<link rel="self" type="application/atom+xml" href="http://www.lambda.ee/w/index.php?action=history&amp;feed=atom&amp;title=Iti0210lab142"/>
	<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Iti0210lab142&amp;action=history"/>
	<updated>2026-10-28T20:37:40Z</updated>
	<subtitle>Selle lehekülje redigeerimiste ajalugu</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Iti0210lab142&amp;diff=17272&amp;oldid=prev</id>
		<title>PriitJ – 22. aprill 2020, kell 09:28</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Iti0210lab142&amp;diff=17272&amp;oldid=prev"/>
		<updated>2020-04-22T09:28:28Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;et&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Vanem redaktsioon&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Redaktsioon: 22. aprill 2020, kell 11:28&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l8&quot;&gt;8. rida:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;8. rida:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Juhendid, mis keskenduvad sellele, kuidas &amp;#039;&amp;#039;Q-learning&amp;#039;&amp;#039; toimib: [https://blog.valohai.com/reinforcement-learning-tutorial-part-1-q-learning],[http://mnemstudio.org/path-finding-q-learning-tutorial.htm].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Juhendid, mis keskenduvad sellele, kuidas &amp;#039;&amp;#039;Q-learning&amp;#039;&amp;#039; toimib: [https://blog.valohai.com/reinforcement-learning-tutorial-part-1-q-learning],[http://mnemstudio.org/path-finding-q-learning-tutorial.htm].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Koduülesanne loetakse lahendatuks ka juhul kui õppimine täielikult ei õnnestu. Oluline on proovida ja tulemustest kokkuvõte teha.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Ettevalmistus ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Ettevalmistus ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l103&quot;&gt;103. rida:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;105. rida:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Kasuta &amp;#039;&amp;#039;Q-learning&amp;#039;&amp;#039; algoritmi.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Kasuta &amp;#039;&amp;#039;Q-learning&amp;#039;&amp;#039; algoritmi.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Iti0210]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key lambdadb:diff:1.41:old-17271:rev-17272:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>PriitJ</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Iti0210lab142&amp;diff=17271&amp;oldid=prev</id>
		<title>PriitJ: /* Ülesande tingimused */</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Iti0210lab142&amp;diff=17271&amp;oldid=prev"/>
		<updated>2020-04-22T09:23:00Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Ülesande tingimused&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;et&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Vanem redaktsioon&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Redaktsioon: 22. aprill 2020, kell 11:23&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l24&quot;&gt;24. rida:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;24. rida:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* sõiduki positsioon x&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* sõiduki positsioon x&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* sõiduki kiirus x&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* sõiduki kiirus x&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* varda nurk &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* varda nurk &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;amp;theta;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* varda nurkkiirus &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a&lt;/del&gt;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* varda nurkkiirus &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;amp;theta;&lt;/ins&gt;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Tegevused:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Tegevused:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key lambdadb:diff:1.41:old-16359:rev-17271:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>PriitJ</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Iti0210lab142&amp;diff=16359&amp;oldid=prev</id>
		<title>PriitJ – 29. november 2019, kell 09:52</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Iti0210lab142&amp;diff=16359&amp;oldid=prev"/>
		<updated>2019-11-29T09:52:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;et&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Vanem redaktsioon&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Redaktsioon: 29. november 2019, kell 11:52&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot;&gt;3. rida:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;3. rida:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Sissejuhatus ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Sissejuhatus ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Rakendame stiimulõpet (&#039;&#039;reinforcement learning&#039;&#039;), et lahendada klassikalist masinõppimise ülesannet: [https://www.youtube.com/watch?v=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5Q14EjnOJZc &lt;/del&gt;tagurpidi pendel], rohkem tuntud kui &quot;Cartpole&quot;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Rakendame stiimulõpet (&#039;&#039;reinforcement learning&#039;&#039;), et lahendada klassikalist masinõppimise ülesannet: [https://www.youtube.com/watch?v=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vQ607X6Rid4 &lt;/ins&gt;tagurpidi pendel], rohkem tuntud kui &quot;Cartpole&quot;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Õppimiseks kasutame &amp;#039;&amp;#039;Q-learning&amp;#039;&amp;#039; algoritmi, keskkonnaks on [https://gym.openai.com/ OpenAI Gym]. See eeldab Pythoni kasutamist, kui soovid midagi muud proovida, vt juhendi lõppu.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Õppimiseks kasutame &amp;#039;&amp;#039;Q-learning&amp;#039;&amp;#039; algoritmi, keskkonnaks on [https://gym.openai.com/ OpenAI Gym]. See eeldab Pythoni kasutamist, kui soovid midagi muud proovida, vt juhendi lõppu.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key lambdadb:diff:1.41:old-16358:rev-16359:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>PriitJ</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Iti0210lab142&amp;diff=16358&amp;oldid=prev</id>
		<title>PriitJ – 28. november 2019, kell 16:36</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Iti0210lab142&amp;diff=16358&amp;oldid=prev"/>
		<updated>2019-11-28T16:36:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;et&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Vanem redaktsioon&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Redaktsioon: 28. november 2019, kell 18:36&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l85&quot;&gt;85. rida:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;85. rida:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Siin ülesandes on efektiivne gamma=1 ja epsiloni sujuv vähendamine 1.0--&amp;gt;0.1 umbes 100..300 tsükli jooksul&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Siin ülesandes on efektiivne gamma=1 ja epsiloni sujuv vähendamine 1.0--&amp;gt;0.1 umbes 100..300 tsükli jooksul&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Põhimõte, mis kehtib mujal ka: kui õppimine on ebastabiilne, vähenda õppimise kiirust (alpha) ja õpeta kauem.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Põhimõte, mis kehtib mujal ka: kui õppimine on ebastabiilne, vähenda õppimise kiirust (alpha) ja õpeta kauem.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Aruanne ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Lisa aruandesse graafik, mis näitab episoodi pikkuse muutust õppimise jooksul. Sõltuvalt oma treenimise pikkusest võid valida, kas graafikul on iga episoodi tulemus, keskmised üle mingi arvu mängude, või mõlemad.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Alternatiiv ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Alternatiiv ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key lambdadb:diff:1.41:old-16356:rev-16358:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>PriitJ</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Iti0210lab142&amp;diff=16356&amp;oldid=prev</id>
		<title>PriitJ: Uus lehekülg: &#039;= Stiimulõpe =  == Sissejuhatus ==  Rakendame stiimulõpet (&#039;&#039;reinforcement learning&#039;&#039;), et lahendada klassikalist masinõppimise ülesannet: [https://www.youtube.com/watch?v=5Q...&#039;</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Iti0210lab142&amp;diff=16356&amp;oldid=prev"/>
		<updated>2019-11-28T15:44:33Z</updated>

		<summary type="html">&lt;p&gt;Uus lehekülg: &amp;#039;= Stiimulõpe =  == Sissejuhatus ==  Rakendame stiimulõpet (&amp;#039;&amp;#039;reinforcement learning&amp;#039;&amp;#039;), et lahendada klassikalist masinõppimise ülesannet: [https://www.youtube.com/watch?v=5Q...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Uus lehekülg&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Stiimulõpe =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Rakendame stiimulõpet (&amp;#039;&amp;#039;reinforcement learning&amp;#039;&amp;#039;), et lahendada klassikalist masinõppimise ülesannet: [https://www.youtube.com/watch?v=5Q14EjnOJZc tagurpidi pendel], rohkem tuntud kui &amp;quot;Cartpole&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Õppimiseks kasutame &amp;#039;&amp;#039;Q-learning&amp;#039;&amp;#039; algoritmi, keskkonnaks on [https://gym.openai.com/ OpenAI Gym]. See eeldab Pythoni kasutamist, kui soovid midagi muud proovida, vt juhendi lõppu.&lt;br /&gt;
&lt;br /&gt;
Juhendid, mis keskenduvad sellele, kuidas &amp;#039;&amp;#039;Q-learning&amp;#039;&amp;#039; toimib: [https://blog.valohai.com/reinforcement-learning-tutorial-part-1-q-learning],[http://mnemstudio.org/path-finding-q-learning-tutorial.htm].&lt;br /&gt;
&lt;br /&gt;
== Ettevalmistus ==&lt;br /&gt;
&lt;br /&gt;
Paigalda [https://gym.openai.com/docs/ OpenAI Gym].&lt;br /&gt;
&lt;br /&gt;
  pip install gym&lt;br /&gt;
&lt;br /&gt;
Kui sul Windowsi arvuti ja Anaconda, siis peaks seda tegema &amp;quot;Anaconda Prompt&amp;quot; aknas.&lt;br /&gt;
&lt;br /&gt;
== Ülesande tingimused ==&lt;br /&gt;
&lt;br /&gt;
Tuleb tasakaalus hoida püsti seisvat varrast, mis on sõiduki peal. Sõiduk saab vasakule ja paremale liikuda.&lt;br /&gt;
&lt;br /&gt;
Igal ajahetkel näeme:&lt;br /&gt;
* sõiduki positsioon x&lt;br /&gt;
* sõiduki kiirus x&amp;#039;&lt;br /&gt;
* varda nurk a&lt;br /&gt;
* varda nurkkiirus a&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Tegevused:&lt;br /&gt;
* kiirenda vasakule&lt;br /&gt;
* kiirenda paremale&lt;br /&gt;
&lt;br /&gt;
Tingimused:&lt;br /&gt;
* Iga simulatsiooni samm, kui varras pole maha kukkunud, annab tasu +1&lt;br /&gt;
* Simulatsioon kestab 200 sammu, eesmärk on algoritm treenida nii kaua vastu pidama&lt;br /&gt;
* Simulatsioon katkeb enne, kui varda nurk on üle 15 kraadi kummagis suunas või sõiduk liigub keskkohast liiga kaugele (-2.4, +2.4).&lt;br /&gt;
&lt;br /&gt;
Et õppimine paremini toimiks, lisame varda maha kukkumise korral karistuse (tasu -1).&lt;br /&gt;
&lt;br /&gt;
== Koodi toorik ==&lt;br /&gt;
&lt;br /&gt;
OpenAI Gym simulatsioonid töötavad sellise tsüklina:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
env = gym.make(&amp;#039;CartPole-v0&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
for i_episode in range(200):&lt;br /&gt;
    observation = env.reset()&lt;br /&gt;
    for t in range(200):&lt;br /&gt;
        env.render()&lt;br /&gt;
&lt;br /&gt;
        # juhuslik action, selle asemel tee q-tabelist valimine epsilon-greedy põhimõttel&lt;br /&gt;
        #action = env.action_space.sample()&lt;br /&gt;
&lt;br /&gt;
        next_observation, reward, done, info = env.step(action)&lt;br /&gt;
        if done:&lt;br /&gt;
            reward = -reward   # simulatsioon lõppes enne 200 sammu, negatiivne tasu&lt;br /&gt;
&lt;br /&gt;
        # treeni siin Q-tabelit&lt;br /&gt;
        #  Q[s,a] += alpha * (r + gamma * Q[s&amp;#039;,a&amp;#039;] - Q[s,a])&lt;br /&gt;
        #  s: observation&lt;br /&gt;
        #  a: action&lt;br /&gt;
        #  r: reward&lt;br /&gt;
        #  s&amp;#039;: next_observation&lt;br /&gt;
        #  a&amp;#039;: parim action olekus s&amp;#039;,&lt;br /&gt;
        #      pead ise leidma Q tabelist suurima väärtuse&lt;br /&gt;
&lt;br /&gt;
        observation = next_observation&lt;br /&gt;
        if done:&lt;br /&gt;
            print(&amp;quot;Episode {} finished after {} timesteps&amp;quot;.format(i_episode, t+1))&lt;br /&gt;
            break&lt;br /&gt;
env.close()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kirjuta sinna oma &amp;#039;&amp;#039;Q-learning&amp;#039;&amp;#039; kood vahele. Katsetamiseks võid esialgu &amp;lt;code&amp;gt;action = &amp;lt;/code&amp;gt; algavalt realt kommentaari ära võtta, et näha kuidas simulatsioon töötab.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tuleb sisendandmed diskretiseerida (vahemikeks jaotada), et olekuid saaks Q-tabelisse panna. Põhimõtteliselt saaks näiteks positsiooni diskretiseerida &amp;lt;code&amp;gt;round()&amp;lt;/code&amp;gt; funktsiooniga, mis annaks väärtused hulgast -2, -1, 0, 1, 2 (aga positsiooni kohta vaata ka järgmist lõiku). Kõikide sisendite juures proovi kõigepealt uurida, mis vahemikes nad enamasti muutuvad, siis saad selle vahemiku sobivateks tükkideks jagada.&lt;br /&gt;
&lt;br /&gt;
== Tulemuste saavutamine ==&lt;br /&gt;
&lt;br /&gt;
Hoolimata ülesande lihtsusest võib õppimine esialgu ebaõnnestuda. Mõned ideed:&lt;br /&gt;
&lt;br /&gt;
# Kõik sisendparameetrid pole võrdselt kasulikud. Mida rohkem neid on, seda aeglasem on õppimine. Kõige vähem kasulik on sõiduki positsioon, kuna varda tasakaalustamiseks vajalikud tegevused on samad sõltumatult sellest, kus sõiduk asub.&lt;br /&gt;
# Mida vähem on sisendite diskreetseid väärtusi, seda kiirem on õppimine, aga samas ka ebastabiilsem.&lt;br /&gt;
# Siin ülesandes on efektiivne gamma=1 ja epsiloni sujuv vähendamine 1.0--&amp;gt;0.1 umbes 100..300 tsükli jooksul&lt;br /&gt;
# Põhimõte, mis kehtib mujal ka: kui õppimine on ebastabiilne, vähenda õppimise kiirust (alpha) ja õpeta kauem.&lt;br /&gt;
&lt;br /&gt;
== Alternatiiv ==&lt;br /&gt;
&lt;br /&gt;
Kui ei soovi Pythonit kasutada, võid Cartpole asemel lahendada endale sobivas keeles selle ülesande:&lt;br /&gt;
&lt;br /&gt;
Antud on ruudustik:&lt;br /&gt;
&lt;br /&gt;
[[File:Ifi6057w12_md.png|MDP Grid]]&lt;br /&gt;
&lt;br /&gt;
* Agent alustab &amp;lt;code&amp;gt;START&amp;lt;/code&amp;gt; ruudust, eesmärk jõuda &amp;quot;+1&amp;quot; tähistatud ruutu&lt;br /&gt;
* Tasu: +1 lõpp-punkti jõudmisel, -1 kui satud seal kõrval olevasse ohtlikku ruutu, igas muus ruudus -0.04&lt;br /&gt;
* Kui agent liigub mingis suunas, siis see õnnestub 80% juhtudel, 10% liigub ta hoopis soovitud suunast vasakule ja 10% paremale.&lt;br /&gt;
&lt;br /&gt;
Kasuta &amp;#039;&amp;#039;Q-learning&amp;#039;&amp;#039; algoritmi.&lt;/div&gt;</summary>
		<author><name>PriitJ</name></author>
	</entry>
</feed>