{"id":28,"date":"2024-04-04T08:01:23","date_gmt":"2024-04-04T05:01:23","guid":{"rendered":"https:\/\/sisu.ut.ee\/rosak\/olekumasinad\/"},"modified":"2024-04-04T08:03:58","modified_gmt":"2024-04-04T05:03:58","slug":"olekumasinad","status":"publish","type":"page","link":"https:\/\/sisu.ut.ee\/rosak\/olekumasinad\/","title":{"rendered":"2. Olekumasinad"},"content":{"rendered":"<blockquote>\n<p>\n\t\t<strong><span id=\"docs-internal-guid-eeafa737-7fff-a797-5aa5-d643336cc2ac\">Robotite kood peab tegema paljusid eri asju: saama infot sensoritelt, selle p\u00f5hjal otsuseid vastu v\u00f5tma ja m\u00f5nikord ka m\u00e4letama, mis on varem tehtud. Selleks, et k\u00f5iki neid funktsioone h\u00e4sti sooritada, on kasulik m\u00f5elda roboti koodist kui <\/span><span>olekumasinast<\/span><span>.<\/span><\/strong>\n\t<\/p>\n<\/blockquote>\n<p>\n\t<strong><span id=\"docs-internal-guid-964d9e26-7fff-2958-6de3-ae660c10d68e\">L\u00f5plik olekumasin<\/span><\/strong><span> on matemaatiline mudel, kus s\u00fcsteem (n\u00e4iteks meie robot) saab olla erinevates <\/span><strong><span>olekutes<\/span><\/strong><span>.<\/span>\n<\/p>\n<p>\n\t<span id=\"docs-internal-guid-c0a01572-7fff-5646-2b84-37cd52e239d2\">V\u00f5ime n\u00e4itena m\u00f5elda koodi peale, mis teises moodulis otsis porgandeid. See kood pidi keerama end porgandi suunas, selle juurde s\u00f5itma, siis aru saama, et ta on porgandile piisavalt l\u00e4hedal, ja uue porgandi poole keerama. Aga kuidas kood p\u00e4rast porgandi juurde s\u00f5itmist aru saab, et ta v\u00f5ib n\u00fc\u00fcd seda porgandit ignoreerida, seni, kuni uut otsib?<\/span>\n<\/p>\n<p>\n\t<span id=\"docs-internal-guid-46d46cb7-7fff-71a4-7791-93a0461d6397\">Meie porgandiotsija kood lahendab selle probleemi kahe olekuga. See, kummas olekus robot parasjagu on, on salvestatud \u00fchte muutujasse.<\/span>\n<\/p>\n<ul>\n<li>\n\t\t<span id=\"docs-internal-guid-8e64863b-7fff-9206-7a89-ca58016e1230\">Programm alustab \u201cporgandi otsimise\u201d olekus, kus robot keerleb vastup\u00e4eva, kuni tema pildi vasakusse serva tekib porgand.<\/span>\n\t<\/li>\n<li>\n\t\t<span id=\"docs-internal-guid-04ce4bef-7fff-ad98-4615-4a9d8503339a\">Seej\u00e4rel l\u00e4heb robot \u201cporgandile l\u00e4henemise\u201d olekusse, kus ta keerab leitud porgandi oma ekraani keskele ja s\u00f5idab porgandi poole.<\/span>\n\t<\/li>\n<li>\n\t\t<span id=\"docs-internal-guid-b7403ff0-7fff-c97e-529f-959e9016f84d\">Kui robot saab aga oran\u017ei laigu suuruse j\u00e4rgi aru, et on porgandile piisavalt l\u00e4hedal, siis l\u00e4heb robot uuesti \u201cporgandi otsimise\u201d olekusse. See t\u00e4hendab, et n\u00fc\u00fcd hakkab ta porgandit ekraani keskel ignoreerima ja otsib j\u00e4lle uut porgandit ekraani vasakus servas. Kuna robot p\u00f6\u00f6rab vastup\u00e4eva, siis lubab see tal leida justnimelt uue porgandi, mitte selle, mis tal juba ekraani keskel n\u00e4ha on.<\/span>\n\t<\/li>\n<\/ul>\n<p>\n\t<span id=\"docs-internal-guid-96d609b5-7fff-ebcf-1ac8-66ca9755d9c5\">Niimoodi pendeldab roboti kood kahe oleku vahet.<\/span>\n<\/p>\n<p>\n\t<img loading=\"lazy\" decoding=\"async\" width=\"1579\" height=\"609\" class=\"alignnone wp-image-115\" src=\"https:\/\/sisu.ut.ee\/wp-content\/uploads\/sites\/560\/kuvatommis_2022-10-26_19-28-48.png\" title=\"olekumasin.png\" alt=\".\" srcset=\"https:\/\/sisu.ut.ee\/wp-content\/uploads\/sites\/560\/kuvatommis_2022-10-26_19-28-48.png 1579w, https:\/\/sisu.ut.ee\/wp-content\/uploads\/sites\/560\/kuvatommis_2022-10-26_19-28-48-300x116.png 300w, https:\/\/sisu.ut.ee\/wp-content\/uploads\/sites\/560\/kuvatommis_2022-10-26_19-28-48-1024x395.png 1024w, https:\/\/sisu.ut.ee\/wp-content\/uploads\/sites\/560\/kuvatommis_2022-10-26_19-28-48-768x296.png 768w, https:\/\/sisu.ut.ee\/wp-content\/uploads\/sites\/560\/kuvatommis_2022-10-26_19-28-48-1536x592.png 1536w\" sizes=\"auto, (max-width: 1579px) 100vw, 1579px\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Robotite kood peab tegema paljusid eri asju: saama infot sensoritelt, selle p\u00f5hjal otsuseid vastu v\u00f5tma ja m\u00f5nikord ka m\u00e4letama, mis on varem tehtud. Selleks, et k\u00f5iki neid funktsioone h\u00e4sti sooritada, on kasulik m\u00f5elda roboti koodist kui olekumasinast. L\u00f5plik olekumasin on &#8230;<\/p>\n","protected":false},"author":98,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-28","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/sisu.ut.ee\/rosak\/wp-json\/wp\/v2\/pages\/28","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sisu.ut.ee\/rosak\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sisu.ut.ee\/rosak\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sisu.ut.ee\/rosak\/wp-json\/wp\/v2\/users\/98"}],"replies":[{"embeddable":true,"href":"https:\/\/sisu.ut.ee\/rosak\/wp-json\/wp\/v2\/comments?post=28"}],"version-history":[{"count":1,"href":"https:\/\/sisu.ut.ee\/rosak\/wp-json\/wp\/v2\/pages\/28\/revisions"}],"predecessor-version":[{"id":373,"href":"https:\/\/sisu.ut.ee\/rosak\/wp-json\/wp\/v2\/pages\/28\/revisions\/373"}],"wp:attachment":[{"href":"https:\/\/sisu.ut.ee\/rosak\/wp-json\/wp\/v2\/media?parent=28"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}