Рубрика «искусственный интеллект» - 265

Изменение кода программы во время ее выполнения на примере Common Lisp

Введение

По моему скромному мнению, Lisp — жемчужина среди языков функционального программирования. Несмотря на то, что это один из первых в истории (1958 год) высокоуровневых языков, он по сей день не перестает удивлять. Мне кажется, он настолько обогнал свое время, что его час еще только готовится прийти.

Так давайте попытаемся написать программу, которую проблематично будет создать на других языках. Как следует из названия статьи, эта программа будет редактировать собственный код по мере своего выполнения. Для ее создания я использую Common Lisp, а точнее его интерпретатор SBCL.
Читать полностью »

Это заключительная часть серии статей, описывающих перемещения компьютерных персонажей. Я расскажу о смешанных видах передвижений, которые сочетают в себе векторные и плиточные методы, небольшая оптимизация плиточных перемещений и ускорение просчетов добавлением сетки к векторам. А так же поведу общее сравнение всех описанных методов в виде таблицы.Читать полностью »

В предыдущей статье я рассказал о видах передвижений и перемещений в плиточном мире. Сегодня расскажу подробней о векторных способах. Как и в прошлый раз расскажу теорию, объясню суть и покажу пример реализации перемещений на языке C++.Читать полностью »

Все, кто начинал заниматься реализацией игрового искусственного интеллекта, наверняка сталкивались с проблемой реализации движений своих персонажей. Дело в том, что поведение и в реальном мире в большей степени определяет интеллектуальность того или иного существа. Даже люди друг друга зачастую оценивают по поведению (что немного неверно). Эта статья рассчитана на тех, кто только приступает к реализации своего первого игрового ИИ. Я расскажу о видах перемещений, их преимуществах и недостатках, а также покажу на примере как можно реализовать тот или иной способ на языке C++. Замечания и критика, а так же свои точки зрения приветствуются. Читать полностью »

Из предыдущих статей цикла мы уже познакомились с основными терминами машинного обучения и классическими задачами. Настало время разобрать методы решения одной из них — задачи классификации. Сегодня мы разберем метод ближайших соседей.

Конечно, мы помним, что задача классификации формулируется следующим образом:

Нам дано некоторое множество объектов X и конечное множество номеров классов Y. Определено отображение ƒ*:X→Y. Причем известно, что некоторым элементам x∈X соответствуют некие классы из множества C. Задача классификации заключается в нахождении функции ƒ, аппроксимирующей ƒ* на всех элементах из X.

Читать полностью »

В прошлой статье мы рассмотрели общую идею машинного обучения и определили обучение с учителем и без него. Теперь мы введем еще несколько новых понятий и рассмотрим классические задачи машинного обучения.

Введем несколько новых определений.

Модель в машинном обучении это класс алгоритмов, решающих поставленную задачу.

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

Недообучение это явление, обратное переобучению, при котором алгоритм не полностью использует предоставленные ему для обучения данные. Недообучение имеет место при выборе недостаточно сложных моделей.
Читать полностью »

Можно ли при сегодняшнем уровне развития вычислительной техники решить задачу генерации литературно осмысленного текста? Мне кажется возможно, по крайней мере на уровне алгоритмо-теоретического описания. А при чем тут Курочка ряба и Звездные войны? Читать полностью »

0. Задача

Задача построения сильного искусственного интеллекта заключается в создании системы, симулирующей феномен сознания, присущий живым существам, который может быть определен как способность действовать и рефлексия — способность системы вносить в собственную структуру изменения, руководствуясь расхождением наблюдаемого состояния внешнего мира и ожидаемого результата собственных действий. Система должна взаимодействовать с внешней средой, используя некоторый язык. Она должна стремиться к цели продолжать существование, пытаясь устранять расхождения между ожиданиями и состоянием внешней среды. Для этого она должна осуществлять контроль над собственной структурой и над внешней средой: категоризировать и оценивать расхождения, вырабатывать соответствующую программу действий вместе с ожиданиями их результата, согласно своей текущей структуре и минимизируя затраты, и выполнять эти действия.
Читать полностью »

image

Человечество веками грезило об искусственном разуме. Кажется, еще немного, и заветная цель будет достигнута, однако стоит спросить себя: возможно ли решение данной задачи в принципе? Что такое искусственный разум, долженствующий окончательно уравнять человека с Богом?
Позволю высказать собственное – надеюсь, отличное от расхожего, – мнение.

Читать полностью »

Кратчайшая история искусственного интеллекта

Искусственный интеллект, как научная область активно развивается с начала XIX века. Наибольшая активность в области происходила в 60-х и 70-х годах. В то время казалось, что ИИ это близкое будущее, что, в общем, не удивительно, т.к направление прогрессировало невероятно быстро. Компьютеры все чаще обыгрывали лучших шахматистов, а на исследования в области ИИ выделялись огромные деньги. Однако, к 1973 году стало понятно, что не все так хорошо, как кажется. В этом году был опубликован так называемый отчет Лайтхилла — документ «Искусственный интеллект: Общий обзор», дающий крайне пессимистические прогнозы для основных направлений отрасли. Документ предвещал наступление т.н. «зимы искусственного интеллекта».

Основными причинами «Зимы ИИ» стали:

  1. Проблема комбинаторного взрыва (Резкий рост временной сложности алгоритма при увеличении размера входных данных).
  2. Низкая производительность компьютеров (Более высокая производительность могла бы частично решить первую проблему).
  3. Проблема представлений знаний «здравого мысла» (Например, задача формализации процесса распознавания речи человеком не решена до сих пор).
  4. Парадокс Моравеца (Для компьютера многие задачи, очевидные с человеческой точки зрения, становятся сложными и наоборот).

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

К своему удивлению, я не обнаружил на хабре статей по машинному обучению. Поэтому, в данном цикле статей я постараюсь исправить это недоразумение.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js