Writing an AI Agent

I’ve just completed my first coding project in my Master’s pursuit. It was to write an artificial intelligence agent that could solve the ‘Sheep and Wolves’ problem. For those unfamiliar, this problem goes like this:

A farmer has some number of sheep and wolves. He also has a boat. He needs to get these animals across a river, but can only take 2 at a time. Now, he can never leave more wolves than sheep on either side of the river, or the wolves will eat the sheep. He also cannot cross with less than 1 animal either direction (he gets lonely).

So, we had discussed several problem solving methodologies in class. The goal of this course in particular is to solve these AI problems taking a more human/cognitive approach (as opposed to purely optimal solutions as seen in Machine Learning). I ended up using a model called “Generate and Test” which is a fancy way to say, take an informed guess, and see if it is correct.

I accomplished this through building a state tree of the problem and all its possible “move”. For example, the farmer can only take:

  • 1 sheep
  • 1 wolf
  • 1 sheep and 1 wolf
  • 2 sheep
  • 2 wolves

So, we build a state to represent the starting condition, then update it based on these 5 possible outcomes. Then these 5 possibilities again branch out into 5 more possible outcomes each, and so on until a tree of every conceivable (and valid) possibility is complete. This is a lot of compute! So, I came up with a couple of heuristics to limit the state space a bit.

First, there are tight limitations on which states can be created and added to the tree. No illegal moves based on the problem rules, no bringing 2 animals back from the starting side of the river, this sort of thing.

Secondly, a simple boolean to check and see if the “success” state was ever achieved. This check was performed against a Set structure with constant time lookups (very efficient) in which I placed every state as it was generated. If we ever see the success state, we stop generating immediately.

Finally, a BFS through the tree looking for this success state completes the solution, and a tree walk back to the root node of the state tree delivers the list of moves needed to arrive at the solution. Very cool stuff.

0 thoughts on “Writing an AI Agent”

  1. Аккаунты Facebook – неотъемлемая часть успешного арбитража трафика. Это платформа с миллиардами пользователей, что открывает огромные возможности для привлечения целевой аудитории. Однако, чтобы добиться максимальной эффективности, необходимо учесть несколько важных аспектов.

    Source:

    https://nowosty.mirtesen.ru/blog/43656161089/Preimuschestva-pokupki-akkauntov-feysbuk-dlya-biznesa

    купить аккаунт фейсбук с бизнес менеджером

  2. Мониторинг и аналитика: Регулярно отслеживайте показатели эффективности кампаний. Используйте аналитические инструменты для выявления трендов и определения стратегии развития.

    Source:

    купить аккаунт фейсбук с бизнес менеджером

    купить аккаунт фейсбук с бизнес менеджером

  3. Профессиональный внешний вид: Ваш аккаунт должен выглядеть доверительно и надежно. Загрузите аватар, заполните информацию о себе и добавьте контактные данные.

    Source:

    https://sitebs.ru/blogs/91002.html

    купить бм фб

  4. Мониторинг и аналитика: Регулярно отслеживайте показатели эффективности кампаний. Используйте аналитические инструменты для выявления трендов и определения стратегии развития.

    Source:

    https://vc.ru/u/1180336-busnews/869147-dlya-kakih-celey-pokupayut-akkaunty-v-facebook

    купить бм фейсбук

  5. Тестирование и оптимизация: Проводите A/B-тестирование объявлений, целевых страниц и аудиторий. Анализируйте данные и оптимизируйте кампании для лучших результатов.

    Source:

    https://tvolk.ru/interesnoe-v-gorode/blogi/interesno-znat/6696.php

    купить бизнес менеджер фейсбук

  6. Структурирование кампаний: Разделяйте кампании по тематике, группируя их в рекламные наборы и назначая конкретные аудитории.

    Source:

    купить бизнес менеджер

    купить бизнес менеджер

  7. Тестирование и оптимизация: Проводите A/B-тестирование объявлений, целевых страниц и аудиторий. Анализируйте данные и оптимизируйте кампании для лучших результатов.

    Source:

    купить аккаунт фейсбук с бизнес менеджером

    купить аккаунт фейсбук с бизнес менеджером

  8. Тестирование и оптимизация: Проводите A/B-тестирование объявлений, целевых страниц и аудиторий. Анализируйте данные и оптимизируйте кампании для лучших результатов.

    Source:

    https://obzor-gazet.ru/2023/09/30/nppr-team-reklamshhiki-stali-chashhe-pokupat-gotovye-akkaunty-soczialnyh-setej/

    купить аккаунт фейсбук для рекламы

  9. Аккаунты Facebook – неотъемлемая часть успешного арбитража трафика. Это платформа с миллиардами пользователей, что открывает огромные возможности для привлечения целевой аудитории. Однако, чтобы добиться максимальной эффективности, необходимо учесть несколько важных аспектов.

    Source:

    купить аккаунты фейсбук

    купить аккаунты фейсбук

  10. Профессиональный внешний вид: Ваш аккаунт должен выглядеть доверительно и надежно. Загрузите аватар, заполните информацию о себе и добавьте контактные данные.

    Source:

    купить аккаунт фейсбук

    купить аккаунт фейсбук

  11. Профессиональный внешний вид: Ваш аккаунт должен выглядеть доверительно и надежно. Загрузите аватар, заполните информацию о себе и добавьте контактные данные.

    Source:

    https://subscribe.ru/group/pro-novosti-onlajn/18251523/

    купить аккаунт фб

  12. Тестирование и оптимизация: Проводите A/B-тестирование объявлений, целевых страниц и аудиторий. Анализируйте данные и оптимизируйте кампании для лучших результатов.

    Source:

    https://teletype.in/@news-pro/pochemu-stoit-kut-akk-facebook

    агентские аккаунты фейсбук

  13. Профессиональный внешний вид: Ваш аккаунт должен выглядеть доверительно и надежно. Загрузите аватар, заполните информацию о себе и добавьте контактные данные.

    Source:

    бизнес менеджер фейсбук

    бизнес менеджер фейсбук

  14. Структурирование кампаний: Разделяйте кампании по тематике, группируя их в рекламные наборы и назначая конкретные аудитории.

    Source:

    https://vc.ru/u/1180336-busnews/869147-dlya-kakih-celey-pokupayut-akkaunty-v-facebook

    купить бм фейсбук

  15. Структурирование кампаний: Разделяйте кампании по тематике, группируя их в рекламные наборы и назначая конкретные аудитории.

    Source:

    https://www.sostav.ru/blogs/268214/41069

    купить бм

  16. Мониторинг и аналитика: Регулярно отслеживайте показатели эффективности кампаний. Используйте аналитические инструменты для выявления трендов и определения стратегии развития.

    Source:

    https://teletype.in/@news-pro/pochemu-stoit-kut-akk-facebook

    агентские аккаунты фейсбук

  17. Использование разнообразных форматов рекламы: Экспериментируйте с видами контента – изображениями, видео, каруселями. Это поможет привлечь больше внимания.

    Source:

    https://mirwiki.ru/nppr-team-reklamshhiki-stali-chashhe-pokupat-gotovye-akkaunty-soczialnyh-setej/

    аккаунты фейсбук

  18. Правильно настроенные и управляемые аккаунты Facebook становятся надежной основой успешного арбитража трафика. Следуя вышеперечисленным советам, вы повышаете шансы на достижение высоких результатов в этой области.

    Source:

    купить бизнес менеджер

    купить бизнес менеджер

  19. Структурирование кампаний: Разделяйте кампании по тематике, группируя их в рекламные наборы и назначая конкретные аудитории.

    Source:

    https://nowosty.mirtesen.ru/blog/43656161089/Preimuschestva-pokupki-akkauntov-feysbuk-dlya-biznesa

    купить аккаунт фейсбук с бизнес менеджером

  20. Правильно настроенные и управляемые аккаунты Facebook становятся надежной основой успешного арбитража трафика. Следуя вышеперечисленным советам, вы повышаете шансы на достижение высоких результатов в этой области.

    Source:

    агентские аккаунты фейсбук

    агентские аккаунты фейсбук

  21. Аккаунты Facebook – неотъемлемая часть успешного арбитража трафика. Это платформа с миллиардами пользователей, что открывает огромные возможности для привлечения целевой аудитории. Однако, чтобы добиться максимальной эффективности, необходимо учесть несколько важных аспектов.

    Source:

    купить аккаунт фейсбук

    купить аккаунт фейсбук

  22. Тестирование и оптимизация: Проводите A/B-тестирование объявлений, целевых страниц и аудиторий. Анализируйте данные и оптимизируйте кампании для лучших результатов.

    Source:

    купить бизнес менеджер

    купить бизнес менеджер

  23. Использование разнообразных форматов рекламы: Экспериментируйте с видами контента – изображениями, видео, каруселями. Это поможет привлечь больше внимания.

    Source:

    https://obzor-gazet.ru/2023/09/30/nppr-team-reklamshhiki-stali-chashhe-pokupat-gotovye-akkaunty-soczialnyh-setej/

    купить аккаунт фейсбук для рекламы

  24. Edwardwex says:
    Your comment is awaiting moderation. This is a preview, your comment will be visible after it has been approved.

    Source:

    omg omg shop

    Ты высказал точку зрения

Leave a Reply

Your email address will not be published. Required fields are marked *