550 likes | 737 Views
Нечеткие вычисления посредством переговоров программных агентов. Гниломедов Иван СПб ГУ ИТМО 2010. Нечеткие вычисления (Fuzzy Computing). Один из методов мягких вычислений. Нечеткие вычисления (Fuzzy Computing). Один из методов мягких вычислений. применение : эвристические алг-мы ;
E N D
Нечеткие вычисления посредством переговоров программных агентов Гниломедов Иван СПб ГУ ИТМО 2010
Нечеткие вычисления(Fuzzy Computing) Один из методовмягких вычислений
Нечеткие вычисления(Fuzzy Computing) Один из методовмягких вычислений применение: эвристические алг-мы; невозможность точного решения в силу особенности предметной области.
Мультиагентные системы имитационное моделирование; набор активных индивидов (агентов); среда обитания.
Мультиагентная модель нечетких вычислений IF x0 IS a0 THEN y0 IS b0 IF x1 IS a1 THEN y1 IS b1 ...
Мультиагентная модель нечетких вычислений A0 IF x0 IS a0 THEN y0 IS b0 IF x1 IS a1 THEN y1 IS b1 ... A1
Мультиагентная модель нечетких вычислений A1 A2 A3 A0 …
Мультиагентная модель нечетких вычислений A1 A2 A3 A0 … Δ
Мультиагентная модель нечетких вычислений A1 A2 A3 A0 … Δ = L(y1, y2, y3… )
Мультиагентная модель нечетких вычислений A1 A2 A3 A0 … Δ U: ui(δ)⇈ истинность: yiIS bi ui(δ) ⇅ истинность: xiIS ai ui(δ) ⇅ weighti = L(y1, y2, y3… )
Дополнительная гибкость в МА подходе можно модифицировать механизмагрегации, настраивая агентов; можно модифицировать способ вычисления нечетких операторов, настраивая агентов.
Реактивные системы IF x0 IS a0 THEN action0() IF x1IS a1THEN action1() IF x2IS a2THEN action2() IF x3IS a3THEN action3()
Реактивные системы A0 A1 IF x0 IS a0 THEN action0() IF x1IS a1THEN action1() IF x2IS a2THEN action2() IF x3IS a3THEN action3() A2 A3
Реактивные системы A0 A1 IF x0 IS a0 THEN action0() IF x1IS a1THEN action1() IF x2IS a2THEN action2() IF x3IS a3THEN action3() A2 A3
Реактивные системы A0 A1 IF x0 IS a0 THEN action0() IF x1IS a1THEN action1() IF x2IS a2THEN action2() IF x3IS a3THEN action3() A2 A3
Преимущества МА модели гибкость - в выборе способа вычисления нечеткихоператоров; - в выборе протокола агрегации. нечеткие реактивные системы со сложным поведением
Расширенный набор синтаксических конструкций FOR_EACH WHILE FOR
FOR_EACH итерируется по заданной коллекции: [e0 , e1 , e2 , e3 ,…]
FOR_EACH A0 A1 A2 A3 итерируется по заданной коллекции: [e0 , e1 , e2 , e3 ,…]
FOR_EACH A0 A1 A2 A3 итерируется по заданной коллекции: [e0 , e1 , e2 , e3 ,…] publicboolean negotiate( INegotiationContext context);
FOR_EACH0: FOR_EACH1: … a0 a1 a2 a3 b0 b1 b2 b3
FOR_EACH0: FOR_EACH1: … a0 a1 a2 a3 A0 B0 b0 b1 b2 b3 A1 B1 A2 B2 A3 B3
FOR_EACH0: FOR_EACH1: … a0 a1 a2 a3 A0 B0 b0 b1 b2 b3 A1 B1 . . . сообщения A2 B2 A3 B3
WHILE WHILE x0 IS v0 AND x1 IS x1 … : action0() action1() …
WHILE WHILE x0 IS v0 AND x1 IS x1 … : action0() action1() … Приразной степени достоверности условия хочется запускать подмножество действий из { action0, action1 … }
WHILE A0 A1 WHILE x0 IS v0 AND x1 IS x1 … : action0() action1() action2() action3() … A2 A3
AWHILE WHILE A0 A1 WHILE x0 IS v0 AND x1 IS x1 … : action0() action1() action2() action3() … A2 A3
AWHILE WHILE A0 A1 WHILE x0 IS v0 AND x1 IS x1 … : action0() action1() action2() action3() … A2 A3
AW0 AW0 A0 A1 WHILE x0 IS v0 AND x1 IS x1 … : action0() action1() action2() action3() … A2 A3
AW0 AW1 A0 A1 WHILE x0 IS v0 AND x1 IS x1 … : action0() action1() action2() action3() … A2 A3
FOR Аналогично WHILE
Задача о расположении заводов(Facility Location Problem) F — множество заводов; C — множество городов; Rds={<c, f>: } — множество дорог. Изначально все заводы и все дороги закрыты. Функции: fp:F→R+ и rp:Rds →R+ — цены открытия заводов и дорог соответственно
Задача о расположении заводов(Facility Location Problem) Требуется: открыть подмножество заводов и подмножество дорог минимальной общей стоимости так, чтобы каждый город имел хотябы одну смежную открытую дорогу, ведущую в открытый завод. Задача принадлежит к классу NPC
Factor-3 алгоритм Решение не более чем в 3 раза хужеоптимального
Наивный эвристический алгоритм 1. открыть все факультеты; 2. для каждого города выбрать самуюдешевую дорогу; 3. закрыть все факультеты, которыми никто не воспользовался.
Нечеткие эвристические алгоритмы Тривиальный: кооперативное поведение: 1 завод ―∞ городов (завод A ↔ завод B)― ∞ городов. Продвинутый: сложное кооперативное поведение: коалиции из множества заводови городов.
A – наивный; B – factor-3; C – тривиальный нечеткий; D – продвинутый нечеткий; Facility Location Problem
Преимущество алгоритмов перед factor-3: C – тривиального нечеткого; D – продвинутого нечеткого;
Другие нечеткие МА алгоритмы • Нечеткий алгоритм кластеризации; • Нечеткий алгоритм выбора гаджетов.
Другие нечеткие МА алгоритмы • Нечеткий алгоритм кластеризации; • Нечеткий алгоритм выбора гаджетов: • - телефон (хорошего качества); • - полеер (хорошего качества); • - фотоаппарат (возможно посредственного • качества).
Другие нечеткие МА алгоритмы • Нечеткий алгоритм кластеризации; • Нечеткий алгоритм выбора гаджетов: • - телефон (хорошего качества); • - полеер (хорошего качества); • - фотоаппарат (возможно посредственного • качества); • - возможен выбор одного изделия, или набора • инструментов(со штрафом); • - оптимизация по цене и по количеству гаджетов.
Использованные приемы нечеткого МА программирования • конкурирующее поведение; • обмен сообщениями; • кооперативное поведение.
Использованные приемы нечеткого МА программирования • конкурирующее поведение: • NB:наиболее простое поведение. • обмен сообщениями; • кооперативное поведение: • NB:сложное поведение, • представляет наибольший интерес: • - велико пространство исходов; • - многопараметрическая оптимизация.
Заключение 1. Предложена мультиагентная модель нечетких вычислений. 2. Классическая схема нечеткого вывода представляется, как частный случай предложенной модели. 3. Предложенный метод позволяет: более гибким образом интерпретировать классические нечеткие программы, расширяет набор синтаксических конструкций, доступных программисту (FOR_EACH, FOR, WHILE). ...
Заключение . . . 4. Разработана программная библиотека. 5. Разработан и реализован ряд нечетких эвристических алгоритмов. 6. Численный эксперимент подтверждает эффективность.
Тривиальный нечеткий эвристический алгоритм (1) 0 WHILE есть существенный прогресс AND время не истекло: 1FOR_EACH c IN citiesList: 2 FOR_EACH f INopenFacilitiesList: 3 IF f дешевле для c чем fwtn[c] THEN: 4 fwtn[c] IS f
Тривиальный нечеткий эвристический алгоритм (2) 0 WHILE есть сещественный прогресс AND время не истекло: ... 5FOR_EACH f IN closedFacilitiesList: 6wanted IS false 7 FOR_EACH c IN citiesList: 8 IF f более дешев для c чем fwtn[c] THEN: 9wanted IS true 10 IF wanted AND f не дорогTHEN: 11 open(f)