Задачи, решаемые методами искусственного интеллекта. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Задачи, решаемые методами искусственного интеллекта.



Распознавание образов и классификация

В качестве образов могут выступать различные по своей природе объекты: символы текста, изображения, образцы звуков и т. д. При обучении сети предлагаются различные образцы образов с указанием того, к какому классу они относятся. Образец, как правило, представляется как вектор значений признаков. При этом совокупность всех признаков должна однозначно определять класс, к которому относится образец. В случае, если признаков недостаточно, сеть может соотнести один и тот же образец с несколькими классами, что неверно. По окончании обучения сети ей можно предъявлять неизвестные ранее образы и получать ответ о принадлежности к определённому классу.

Принятие решений и управление

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

Кластеризация

Под кластеризацией понимается разбиение множества входных сигналов на классы, при том, что ни количество, ни признаки классов заранее не известны. После обучения такая сеть способна определять, к какому классу относится входной сигнал. Сеть также может сигнализировать о том, что входной сигнал не относится ни к одному из выделенных классов — это является признаком новых, отсутствующих в обучающей выборке, данных. Таким образом, подобная сеть может выявлять новые, неизвестные ранее классы сигналов. Соответствие между классами, выделенными сетью, и классами, существующими в предметной области, устанавливается человеком. Кластеризацию осуществляют, например, нейронные сети Кохонена.

Нейронные сети в простом варианте Кохонена не могут быть огромными поэтому их делят на гиперслои (гиперколонки) и ядра (микроколонки). Если сравнивать с мозгом человека то идеальное количество параллельных слоёв не должно быть более 112. Эти слои в свою очередь составляют гиперслои (гиперколонку), в которой от 500 до 2000 микроколонок (ядер). При этом каждый слой делится на множество гиперколонок пронизывающих насквозь эти слои. Микроколонки кодируются цифрами и единицами с получением результата на выходе. Если требуется, то лишние слои и нейроны удаляются или добавляются. Идеально для подбора числа нейронов, и слоёв использовать суперкомпьютер. Такая система позволяет нейронным сетям быть пластичной.

Прогнозирование

Способности нейронной сети к прогнозированию напрямую следуют из ее способности к обобщению и выделению скрытых зависимостей между входными и выходными данными. После обучения сеть способна предсказать будущее значение некой последовательности на основе нескольких предыдущих значений и/или каких-то существующих в настоящий момент факторов. Следует отметить, что прогнозирование возможно только тогда, когда предыдущие изменения действительно в какой-то степени предопределяют будущие. Например, прогнозирование котировок акций на основе котировок за прошлую неделю может оказаться успешным (а может и не оказаться), тогда как прогнозирование результатов завтрашней лотереи на основе данных за последние 50 лет почти наверняка не даст никаких результатов.

Аппроксимация

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

Сжатие данных и Ассоциативная память

Способность нейросетей к выявлению взаимосвязей между различными параметрами дает возможность выразить данные большой размерности более компактно, если данные тесно взаимосвязаны друг с другом. Обратный процесс — восстановление исходного набора данных из части информации — называется (авто)ассоциативной памятью. Ассоциативная память позволяет также восстанавливать исходный сигнал/образ из зашумленных/поврежденных входных данных. Решение задачи гетероассоциативной памяти позволяет реализовать память, адресуемую по содержимому.

 

1. Структур.прогр-ие -методология разработки ПО,,в основе кот.лежит представление программы в виде иерархической стр-ры блоков.Предложена в 70-х XX века Э.Дейкстрой, разраб-на и дополнена Н.Виртом. 1)Люб.программа представляет собой стр-ру, построенную из трёх типов базовых конструкций: Последоват-ое исполнение-однократ. вып-ие операций в том порядке, в кот.они записаны в тексте программы;

ветвление-однократ. вып-ие одной из двух или более операций, в завис-ти от выполнения некоторого заданного условия; цикл — многократ. исполнение одной и той же операции до тех пор, пока вып-ся некоторое заданное условие. 2)Повторяющиеся фрагменты программы (либо логически целостные выч.блоки) могут оформляться в виде т. н. подпрограмм (процедур или функций). В тексте осн.программы, вместо помещённого в подпрограмму фрагмента, встав-ся инструкция вызова подпрограммы. При вып-ии такой инструкции вып-ся вызванная подпрограмма, после чего исполнение программы продолжается с инструкции, следующей за командой вызова подпрограммы. Разработка программы ведётся пошагово, методом «сверху вниз».

Сначала пишется текст основной программы, в котором, вместо каждого связного логического фрагмента текста, вставл. вызов подпрограммы, которая будет выполнять этот фрагмент. Вместо настоящих, работающих подпрограмм, в программу вставл-я «заглушки», которые ничего не делают. Полученная программа проверяется и отлаживается. После того, как программист убедится, что подпрограммы вызываются в правильной последовательности (то есть общая структура программы верна), подпрограммы-заглушки последовательно заменяются на реально работающие, причём разработка каждой подпрограммы ведётся тем же методом, что и основной программы.

Модульное прогр-ие.

Для упрощения программу разраб-т по частям, кот. наз-ся программными модулями.А такой метод раз-ки программ наз-ют модульным прогр-ем. Прогр. модуль -это любой фрагмент опис-я процесса, оформляемый как самост. программный продукт, пригодный для исп-ия в описаниях процесса. Каждый программный модуль прогр-ся, компилируется и отлаживается отдельно от др.модулей программы. Кажд. разработанный прогр. модуль может вкл-ся в состав разных программ, если выполнены условия его исп-я, декларированные в документации по этому модулю. Для оценки приемлемости прогр. модуля исп-ся его хар-и: размер, прочность, сцепление с др.модулями, рутинность модуля. Размер модуля измер-ся числом содержащихся в нем операторов или строк. М. не должен быть слишком маленьким или слишком большим. Прочность модуля-это мера его внутр.связей. Сцепление модуля-это мера его завис-ти по данным от др. модулей. Хар-ся способом передачи данных.Чем слабее сцепление, тем сильнее его независ-ть от др.модулей. Рутинность модуля-это его незав-ть от предыстории обращений к нему. Модуль наз-ся рутинным, если результат обращения к нему зависит только от значений его параметров.

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

4. ООП -парадигма прогр-ия, в кот. осн. концепциями явл. понятия объектов и классов. Класс-это тип, описыв-ий устр-во объектов. Понятие «класс» подразумевает нек. поведение и способ представления. Понятие «объект» подразум. нечто, что обладает опред.поведением и способом представления. Объект- это экземпляр класса. Обычно классы разраб-т таким образом,чтобы их объекты соотв-вали объектам предметной области. Объект-сущность в адресном пространстве выч. системы, появл-щаяся при создании экземпляра класса. ООП явл-я более структурным, чем все предыдущ. разработки, касающиеся структурного прогр-ия. Оно также явл-я более модульным и более абстрактным. ООЯ прогр-ия хар-ся 3-я осн.св-вами: 1. Инкапсуляция. Комбинир-ие записей с процедурами и ф-циями, манипулирующими полями этих записей, формирует новый тип данных-объект. 2. Наслед-е. Иерархическое наследование признаков. 3. Полиморфизм. Присвоение действию одного имени, кот.затем совместно исп-ся вниз и вверх по иерархии объектов.

Програм-е в.NET Framework.

Платформа Microsoft.NET Framework сост-т из набора баз.классов и CLR (Common Language Runtime,общеязык.среда вып-я). Сущ-е баз. классы позволят решить практически весь необх-ый программисту круг задач.

.NET Framework это виртуальная машина, кот. явл-ся промежуточным звеном между ОС и приложением.

Поверх ОС работает Common Language Runtime. Это и есть вирт.машина, кот. обрабатывает IL (Intermediate Language) код программы.

Баз.классы.NET Framework предлаг-т обширный набор классов, кот. упрощают создание приложения. Расширенные классы-более сложные компоненты доступа к базам данных, XML и др.WEB сервисы.WEB формы,Windows формы-это основа люб.приложения.

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

Этапы построения алгоритмов

В процессе полного построения алгоритма можно выделить следующие основные этапы:

1) постановка задачи;

2) разработка модели;

3) построение алгоритма;

4) проверка правильности алгоритма;

5) анализ алгоритма;

6) программная реализация алгоритма.

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



Поделиться:


Последнее изменение этой страницы: 2016-08-26; просмотров: 3894; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.12.240 (0.009 с.)