Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1,11,21,31.doc
Скачиваний:
8
Добавлен:
23.09.2019
Размер:
534.53 Кб
Скачать

11. Алгоритмы случайного поиска решений задач. Генетические алгоритмы.

Генетический алгоритм (Genetic Algorithm — GA) представляет собой вариант стохастического лучевого поиска, в котором состояния-преемники формируются путем комбинирования двух родительских состояний, а не посредством модификации единственного состояния. В нем просматривается такая же аналогия с естественным отбором с половым воспроизводством.

Алгоритм:

1)Работа алгоритмов GA начинается с множества k сформированных случайным образом состояний, называемых популяцией.

Каждое состояние, или индивидуум, представлено в виде строки символов из конечного алфавита, чаще всего в виде строки из 0 и 1.

Например, состояние задачи с восемью ферзями должно определять позиции восьми ферзей, каждый из которых стоит на вертикали с 8 клетками, и поэтому для его представления требуется 8*log28=24 бита. Иным образом, каждое состояние может быть представлено в виде восьми цифр, каждая из которых находится в диапазоне от 1 до 8.

2)Для определения каждого состояние используется функция пригодности, возвращающая более высокие значения для лучших состояний

3)Для выбора след. потомков производится скрещивание, т.е. выбираются 2 особи случайным образом выбирается точка скрещивания. Сами потомки создаются путем перекрестного обмена подстроками родительских строк, разорванных в точке скрещивания.

4)Каждое местонахождение подвергается случайной мутации с небольшой независимой вероятностью.

function GA{population, FF) //Fitness-Fn, функция, которая измеряет пригодность индивидуума

repeat

pop1<— пустое множество

for i from 1 to Size(pop)

{x <- Random-Selection (pop, FF)

у <- Random-Selection (pop, FF)

child <— Reproduce(x, y)

if (небольшое случайно выбранное значение вероятности)

then child <— Mutate(child)

pop1<-pop1+{child} }

pop <— pop1

until некоторый индивидуум не станет достаточно пригодным или не истечет достаточное количество времени

return наиболее приспособленный индивид в pop

function Reproduce(х, у) // х, у, индивидуумы-родители

п <- Length(х)

с <- случайное число от 1 до n (cD:1,n)

return Append(Substring(х, 1, с), Substring(y, с+1, n))

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

ГА относится к эволюционным методам, которые базируются на биологических объектах, представленных в математической форме.

21. Фреймовая модель представления знаний

В важной статье М. Минского представлена одна из версий семантических сетей, основанная на использовании так называемых фреймов; фреймы служили для представления объектов или категорий и характеризовались наличием атрибутов и отношений с другими объектами или категориями.

Определим фреймовую модель представления знаний следующим образом:

  • знание организовано в виде совокупности взаимосвязанных описаний – классов данной предметной области;

  • формальная структура для такого описания названа фреймом. Это дает возможность упаковать знания в структуры, организованные подходящим образом, сохраняя их обозримость на всех уровнях;

  • фреймы организуются в иерархии по уровню абстракции; конкретным объектам соответствуют экземпляры фреймов; свойства общих понятий наследуются конкретным понятием в иерархии. Наследование представляет собой особый вид дедукции, что дает выигрыш в эффективности и, что более важно, облегчает построение системы фреймов – базы знаний. Такие описания выглядят гораздо более близким к мыслительным структурам человека, нежели формализмы типа исчисления предикатов;

  • структурное описание предполагает содержание ссылок на другие фреймы, что позволяет описывать различные отношения между понятиями данной предметной области. Указанные ссылки могут иметь вид фрейма – прототипа со значениями его свойств - слотов. Сопоставление с прототипом также является механизмом, частично заменяющим обычную дедукцию, и, в то же время, более адекватным механизму мышления человека;

  • с фреймами связываются процедуры, описывающие те или иные специализированные для данной предметной области процессы (проблемно - логический подход, поддержка целостности базы знаний, учет взаимосвязей экземпляров различных понятий и т.п.) Таким образом, фрейм представляет собой декларативно- процедурный модуль, включающий собственно предметную область, а также дополнительную информацию о способе его интерпретации.

Между различными концептуальными объектами существуют некоторые аналогии, в результате чего и фреймы, представляющие такие образы, выстраиваются в иерархическую систему с классификационными и обобщающими свойствами. При этом сложные объекты представляются комбинацией нескольких фреймов (вложенными фреймами). Свойством сети фреймов, заимствованным из семантических сетей, является наличие AKO- связей («A-Kind-Of»), которые связывают фреймы с фреймами, находящимися на уровень выше в иерархии, откуда неявно наследуются (переносятся) значения слотов. Каждый фрейм имеет уникальное имя (идентификатор) в пределах системы фреймов.

Пример:

В данном случае представлено одно звено иерархии (ЧЕЛОВЕК-ЛЕКТОР). Здесь фрейм «ЧЕЛОВЕК» является обобщающим для фрейма «ЛЕКТОР». Таким образом, фрейм «ЛЕКТОР» наследует от фрейма «ЧЕЛОВЕК» значение слота «УМЕЕТ» (а также других слотов, не показанных в примере). Цепочка наследования может быть продолжена вплоть до, например, фрейма «ЖИВОЕ СУЩЕСТВО».

Такая структура позволяет систематизировать большой объем информации, оставляя ее максимально удобной для использования. Кроме того, система фреймов способна отражать концептуальную основу организации памяти человека.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]