{"id":270,"date":"2013-10-01T18:41:34","date_gmt":"2013-10-01T18:41:34","guid":{"rendered":"http:\/\/www.rbknrbkn.com\/workandprogress\/?p=270"},"modified":"2013-10-06T22:51:14","modified_gmt":"2013-10-06T22:51:14","slug":"seekeravoider-autonomous-agents","status":"publish","type":"post","link":"https:\/\/www.rbknrbkn.com\/workandprogress\/?p=270","title":{"rendered":"Seeker\/Avoider Autonomous Agents"},"content":{"rendered":"<p>This is my first dabbling into autonomous agents. An autonomous agent, or &#8220;vehicle&#8221; in <a href=\"http:\/\/www.amazon.com\/Vehicles-Experiments-Synthetic-Psychology-ebook\/dp\/B002Z13PRM\/ref=sr_1_2?ie=UTF8&amp;qid=1380406225&amp;sr=8-2&amp;keywords=vehicles\">Valentino Braitenberg<\/a>&#8216;s terminology, is an agent capable of selecting an action, and consequently steering itself towards achieving it.<\/p>\n<p><iframe loading=\"lazy\" src=\"\/\/player.vimeo.com\/video\/75884557\" height=\"605\" width=\"610\" allowfullscreen=\"\" frameborder=\"0\"><\/iframe><br \/>\nThe particle system I created has three types of particles: <em>target<\/em> particles (visually represented as pink squares), <em>seeker<\/em> particles that pursue a target particle (represented as the large colorful ellipses), and <em>avoider-seeker<\/em> particles that are simultaneously moving towards a target and avoiding another (they are the small, ghostly hollow ellipses in the screenshots\/videos). The particles follow an inheritance hierarchy: both the\u00a0<em>Seeker<\/em>\u00a0and <em>Target\u00a0<\/em>classes inherit from a base\u00a0<em>Particle\u00a0<\/em>class. The\u00a0<em>AvoiderSeeker\u00a0<\/em>class is the grandchild of the\u00a0<em>Seeker\u00a0<\/em>class as there is an unused class in between, the\u00a0<em>Avoider\u00a0<\/em>class.<\/p>\n<p><iframe loading=\"lazy\" src=\"\/\/player.vimeo.com\/video\/75886121\" height=\"600\" width=\"610\" allowfullscreen=\"\" frameborder=\"0\"><\/iframe><\/p>\n<p>The third particle type clearly exhibits the most complex behavior as its steering behavior is subject to two, potentially-contradicting innate forces: one towards a particle, and the other towards another particle. The sought-after\/avoided particles are not necessarily the square pink ones, therefore our avoider-seeker particle go after a seeker particle that is in turn moving towards other particles. This results in moments of analysis-paralysis for said avoider-seeker particles that are visible in the above video.<\/p>\n<p><iframe loading=\"lazy\" src=\"\/\/player.vimeo.com\/video\/75883603\" height=\"616\" width=\"610\" allowfullscreen=\"\" frameborder=\"0\"><\/iframe><\/p>\n<p>Another distinctive characteristic of an autonomous agent is that it has a limited \u00a0knowledge of its environment. The particles here achieve that in having an active knowledge of which direction the target is at, but not necessarily where it is located exactly.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is my first dabbling into autonomous agents. An autonomous agent, or &#8220;vehicle&#8221; in Valentino Braitenberg&#8216;s terminology, is an agent capable of selecting an action, and consequently steering itself towards achieving it. The particle system I created has three types of particles: target particles (visually represented as pink squares), seeker particles that pursue a target [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":273,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"gallery","meta":{"footnotes":""},"categories":[6],"tags":[16,8],"class_list":["post-270","post","type-post","status-publish","format-gallery","has-post-thumbnail","hentry","category-icm","tag-generative-art","tag-processing","post_format-post-format-gallery"],"_links":{"self":[{"href":"https:\/\/www.rbknrbkn.com\/workandprogress\/index.php?rest_route=\/wp\/v2\/posts\/270","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rbknrbkn.com\/workandprogress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rbknrbkn.com\/workandprogress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rbknrbkn.com\/workandprogress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rbknrbkn.com\/workandprogress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=270"}],"version-history":[{"count":10,"href":"https:\/\/www.rbknrbkn.com\/workandprogress\/index.php?rest_route=\/wp\/v2\/posts\/270\/revisions"}],"predecessor-version":[{"id":300,"href":"https:\/\/www.rbknrbkn.com\/workandprogress\/index.php?rest_route=\/wp\/v2\/posts\/270\/revisions\/300"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rbknrbkn.com\/workandprogress\/index.php?rest_route=\/wp\/v2\/media\/273"}],"wp:attachment":[{"href":"https:\/\/www.rbknrbkn.com\/workandprogress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=270"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rbknrbkn.com\/workandprogress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=270"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rbknrbkn.com\/workandprogress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=270"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}