Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2_Задание 1 Искусственный интеллект 2012.doc
Скачиваний:
3
Добавлен:
12.08.2019
Размер:
93.7 Кб
Скачать

Срок сдачи 10 марта

Задание 1.1.

Алгоритм «Муравьи - 1». Известны узлы сети, в которых располагаются муравьи. Узлы сети соединены путями. Муравьи перемещаются по путям, соединяющим узлы. В каждом цикле движения муравьи должны посетить все узлы сети. Муравьи двигаются с одинаковой и постоянной скоростью. После завершения цикла каждый муравей начинает следующий цикл (асинхронно). Количество циклов не ограничено. В начале выполнения алгоритма муравьи поровну распределяются по узлам сети. При движении муравьи оставляют на пути фермент. Фермент не испаряется. В каждом узле муравьи выбирают путь с максимальным ферментом.

Создайте класс муравья, класс узлов сети, класс путей. Класс муравья включает методы движения, выбора следующего пути. Напишите программу.

Отчет должен содержать

  1. Текстовое описание задачи,

  2. UML-диаграммы прецедентов.

  3. Диаграммы деятельности.

  4. Диаграммы классов.

  5. Диаграмма взаимодействий.

  6. Диаграмма состояний.

  7. Диаграмма компонентов.

  8. Текст программы на языке java.

Задание 1.2.

Алгоритм «Муравьи – 2». Муравьи выходят их муравейника в поисках пищи. Какие-либо дороги отсутствуют. При движении муравьи оставляют на пути фермент, который не испаряется с течением времени. Каждый муравей выбирает следующий шаг по наибольшему ферменту. Если количество фермента в соседних ячейках одинаково, то муравей выбирает шаг случайно. Муравьи пытаются найти пищу, которая находится в некоторой области окружающей среды. Муравей, нашедший пищу, несет ее в муравейник, затем сразу же отправляется снова на поиски пищи. В результате работы программы муравьи выбирают определенный достаточно короткий путь.

Создайте класс муравья, класс узлов сети, класс путей. Класс муравья включает методы движения, выбора следующего пути. Напишите программу.

Отчет должен содержать

  1. Текстовое описание задачи,

  2. UML-диаграммы прецедентов.

  3. Диаграммы деятельности.

  4. Диаграммы классов.

  5. Диаграмма взаимодействий.

  6. Диаграмма состояний.

  7. Диаграмма компонентов.

  8. Текст программы на языке java.

Задание 1.3.

Алгоритм «Искусственная жизнь. Растительность». Алгоритм предназначен для реализации пищевой цепочки растения – травоядные. Окружающая среда разделена на клетки. В каждой клетке находится растение, травоядное или клетка пока пуста. Каждое растение растет в своей клетке. По мере роста растения в нем увеличивается количество питательного вещества. Когда количество вещества превышает порог, растение разбрасывает семена, из которых начинают расти новые растения. Травоядные первоначально располагаются в своих клетках. Затем перемещаются, отыскивает растение, поедает его, увеличивая количество своей энергии. Если количество энергии выше заданного уровня, травоядное рождает потомка. Если травоядное не находит растение, то его энергия уменьшается. При уменьшении энергии ниже заданного уровня травоядное исчезает. Для отыскания растений травоядное имеет зрение, может выполнять повороты и перемещения на одну клетку. Травоядные – это агенты, которые имеют зрение и действуют на основе логических выражений.

Создайте класс растения, класс окружающей среды, класс травоядного. Класс травоядного включает методы зрения, выбора типа действий: поворота, движения, съедания, подсчета жизненной энергии.

Отчет должен содержать

  1. Текстовое описание задачи,

  2. UML-диаграммы прецедентов.

  3. Диаграммы деятельности.

  4. Диаграммы классов.

  5. Диаграмма взаимодействий.

  6. Диаграмма состояний.

  7. Диаграмма компонентов.

  8. Текст программы на языке java.

Задание 1.4.

Алгоритм «Искусственная жизнь. Травоядные и хищники - логические агенты». Алгоритм предназначен для реализации пищевой цепочки растения – травоядные – хищники. Окружающая среда разделена на клетки. В каждой клетке находится растение, травоядное, хищник или клетка пока пуста. Каждое растение имеет фиксированное количество питательного вещества (не развивается). Если растение было съедено, то оно отсутствует в течение n-циклов, затем появляется вновь. Травоядные и хищники первоначально располагаются в своих клетках. Травоядные и хищники имеют зрение, могут поворачиваться и перемещаться. Травоядные отыскивают растения, съедают растение, увеличивая количество своей энергии. Если количество энергии выше заданного уровня, травоядное рождает потомка. Если травоядное не находит растение, то его энергия уменьшается. При уменьшении энергии ниже заданного уровня травоядное исчезает. Травоядное избегает хищников. Хищники отыскивают травоядных, съедают травоядное, увеличивая количество своей энергии. Если количество энергии выше заданного уровня, то хищник рождает потомка. Если хищник не находит пищи, то его энергия уменьшается. При уменьшении энергии ниже заданного уровня хищник исчезает.

Агенты не обучаются, они действуют на основе логических выражений.

Создайте класс растения, класс окружающей среды, класс травоядного. Класс травоядного включает методы зрения, выбора типа действий: поворота, движения, съедания, подсчета жизненной энергии. Напишите программу.

Отчет должен содержать

  1. Текстовое описание задачи,

  2. UML-диаграммы прецедентов.

  3. Диаграммы деятельности.

  4. Диаграммы классов.

  5. Диаграмма взаимодействий.

  6. Диаграмма состояний.

  7. Диаграмма компонентов.

  8. Текст программы на языке java.