DRAKON.SU

Текущее время: Четверг, 28 Март, 2024 18:40

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 17 ] 
Автор Сообщение
 Заголовок сообщения: Дракон vs нечеткие алгоритмы
СообщениеДобавлено: Суббота, 20 Февраль, 2016 12:08 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
В настоящее время популярность набирают различные нечеткие алгоритмы, например, нейронные сети. Когда нейронная сеть выдаёт какой-то результат, то нет какого-то четкого алгоритма, почему был получен такой результат, просто коэффициенты в нейронной сети (после обучения нейронной сети) так сложились.

Дракон же предполагает существование какого-то алгоритма и выполнение действий строго по алгоритму.

Мне интересно, как дракон сообщество относится к нечетким алгоритмам?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон vs нечеткие алгоритмы
СообщениеДобавлено: Суббота, 20 Февраль, 2016 19:31 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Rifat писал(а):
Когда нейронная сеть выдаёт какой-то результат, то нет какого-то четкого алгоритма, почему был получен такой результат, просто коэффициенты в нейронной сети (после обучения нейронной сети) так сложились.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон vs нечеткие алгоритмы
СообщениеДобавлено: Понедельник, 22 Февраль, 2016 09:56 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
Ильченко Эдуард писал(а):
Rifat писал(а):
Когда нейронная сеть выдаёт какой-то результат, то нет какого-то четкого алгоритма, почему был получен такой результат, просто коэффициенты в нейронной сети (после обучения нейронной сети) так сложились.

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

Rifat писал(а):
Мне интересно, как дракон сообщество относится к нечетким алгоритмам?
Предлагается относиться положительно.
За первичную ориентировку можно принять, к примеру, достаточно старинную уже (1986 г.),
но систематически изложенную книгу:
Вложение:

Вложение:
НеЧеткиеАлги-01.PNG
НеЧеткиеАлги-01.PNG [ 20.55 КБ | Просмотров: 15032 ]

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

2
Правда не следует относиться к этому с безграничным доверчивым восторгом.
Это книга по своему устоявшемуся классическому стилю изложения - из категории:
написана математиками и для математиков - даже если учебник, например, излагается для технарей.
Так же как выдающаяся отечественная книга - обзорно-справочного типа
(не имеющая аналогов тогда - в 1987 г. и, возможно, до сих пор):
Вложение:
Uspenskij Semenov -- Teoriya algoritmov.djvu [3.55 МБ]
Скачиваний: 388

Вложение:
НеЧеткиеАлги-02.PNG
НеЧеткиеАлги-02.PNG [ 40.14 КБ | Просмотров: 15032 ]

"Авторы — математики и писали свою книгу для математиков
(хотя старались не упустить и философские аспекты темы)" - где-то на стр. в конце введения.

3
Для вразумительных технических (инженерных) приложений необходима
адекватная этому техническая (инженерная) обработка таких фундаментальных математических работ.
А это - подскок объема (раза в 2, в 3)
и требует напряга адекватного прикладного интеллекта - алгоритмического в данном случае.
На одной математике далеко не уедешь (хотя без математики, как "без воды, ...").

4
Необходимы также корректные представления относительно термина:
нечеткие (размытые).
Например, нечеткий признак Далеко или Бизко.
1)
Нет явной метрики расстояния, но неявно есть какой-то диапазон метрики расстояний.
2)
По конкретному контексту это будут разные диапазоны метрики расстояний.
Например:
Поездка за город на пикник - далеко или близко - это одно.
Книга относительно компьютера на столе - далеко или близко - это другое.
3)
Здесь используются не однозначные оценки конкретной величины метрики признаков,
а особые непрерывные функции оценки на некоторых диапазонах - и могут быть приняты разные такие функции.
4) Вследствие всего это получается:
некоторая вполне четкая общая математическая модель, интуитивно, как правило, хорошо понятная в конкретном прикладном контексте.
5)
Но математический аппарат будет сложнее традиционной дискретной математики,
которая представляется собой вырожденный частный случай такой обобщенной дискретной математики.

5
Теперь ударим логикой по алгоритмам - по четким, вообще (в обобщениях) и по нечетким:
Вложение:
НеЧеткиеАлги-03.PNG
НеЧеткиеАлги-03.PNG [ 116.26 КБ | Просмотров: 15032 ]

5.1
Алгоритм - это (строгое, точное, четкое и т.п.) предписание исполнителю
выполнить определенную последовательность действий (в определенном порядке) ... .
Это определение не алгоритма вообще,
а неявное определение последовательного алгоритма классического типа.

Алгоритм - это (строгое, точное, четкое и т.п.) предписание исполнителю
выполнить определенный комплекс действий
параллельной или, в частности, последовательной структуры во времени (в определенном порядке) ... .
Это обобщение определения на параллельные (в общем случае) алгоритмы.

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

5.2
Для последовательных алгоритмов известны общие свойства (последовательных) алгоритмов.
В частности:
1)
Дискретность - это перво-наперво:
пошаговое выполнение алгоритмов и их пошаговое описание
(в отличие от непрерывных аналоговых моделей управления).
2)
Определенность - на каждом шагу точно известно:
-- что нужно делать;
-- какой шаг выполнять далее.
3)
Результативность:
достижение заданного результата за конечное число шагов
(или указания типа: решения нет - это тоже результат).
Причем это:
один и тот же результат для разных исполнителей или при повторении алгоритма
(хотя может учитваться разная погрешность счета, например).
4)
Массовость:
применимость алгоритма для определенного класса задач.
5)
И другие общие свойства (часто выводимые из указанных или ассоциируемые с ними).

5.3
Для параллельных алгоритмов необходимо уточнение системы общих свойств
(обычно это нигде не делается в сводном концентрированном виде - это тоже имеет свои последствия).

5.4
В настоящее время в теории и практике алгоритмов
происходит атака на все указанные и неуказанные выше общие свойства алгоритмов:
в смысле их обобщения и обратной конкретизации в разных нестандартных направлениях.

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

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

5.6
Например.
Известный отечественный изобретатель Г.С. Алтшуллер в конце 40-х начале 50-х
выдвинул передовую результативную методологию:
Алгоритм решения изобретательских задач.
На него набросились с уничтожающей критикой ортодоксы теории алгоритмов:
поскольку эта методология не укладывалась в первичные классические алгоритмические представления.

Он не растерялся и просто изменил название:
ТРИЗ: Теория решения изобретательских задач.
Это уже общепризнанная теория мирового уровня - для всех областей применения.
Но отечественной теории и практике алгоритмов был нанесен большой урон.

5.7
Ключевая особенность алгоритмов решения изобретательских задач такая:
1)
Гарантированно результативный алгоритм:
-- грамотно ставится задача - найти решение проблемы.
-- выполняются определенные процедуры;
-- любой исполнитель (специально обученный инженер) гарантированно находит решение проблемы.
2)
Неопределенный однозначно результат:
у разных исполнителей алгоритма будут разные решения.

Это категорически не укладывается в классические алгоритмические представления.
И вообще не укладывается в алгоритмические представления, если быть упертым в классику.
То есть необходимы обобщения алгоритмических представлений.
Но удачно их задавили - в лучших советских традициях.

Вот если бы этот алгоритм появился за рубежом - тогда другое дело:
мы бы это подхватили и даже продвинулись бы - впереди планеты всей.
Мы западным умом крепки.

--------------------
6
Что касается нечетких алгоритмов.
Предлагается посмотреть эту тему по книге - с последующими выводами.


Последний раз редактировалось andr Понедельник, 22 Февраль, 2016 11:34, всего редактировалось 6 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон vs нечеткие алгоритмы
СообщениеДобавлено: Понедельник, 22 Февраль, 2016 11:19 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
andr писал(а):
6
Что касается нечетких алгоритмов.
Предлагается посмотреть эту тему по книге - с последующими выводами.

Небольшая поправка.
Такое предложение (6) - довольно ехидное. :lol:

Предлагается другой подход:
1)
Книгу все-таки просмотреть - навскидку.
2)
Книгу отложить и подумать:
а нельзя начинать работать с нечеткими алгоритмами не долбая неклассическую математику.
3)
Для начала взять пример со школьников:
алгоритм (правило) перехода улицы - без светофора.
Популярный алгоритм не вычислительного типа в школьной информатике.

Это простой представитель нечетких алгоритмов.
Его вполне можно представить в Драконе.

Многие медицинские алгоритмы можно отнести к классу нечетких алгоритмов.
Их также вполне можно представить в Драконе.

---------------
Все это не означает отсутствия пользы долбать математику.
Но не просто так, а когда и как это потребуется - с понятием.

А для начала вполне можно не заморачиваться на математике
(там где это возможно).
Такая будет неклассическая рекомендация.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон vs нечеткие алгоритмы
СообщениеДобавлено: Пятница, 11 Март, 2016 13:12 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
andr писал(а):
3)
Для начала взять пример со школьников:
алгоритм (правило) перехода улицы - без светофора.
Популярный алгоритм не вычислительного типа в школьной информатике.

Это простой представитель нечетких алгоритмов.
Его вполне можно представить в Драконе.

Алгоритм перехода улицы:
точнее трассы - вне размеченного перехода и без светофора.
Пробуем сделать.
Вложение:
ПереТра-01.PNG
ПереТра-01.PNG [ 12.9 КБ | Просмотров: 14976 ]

В принципе получилось - в первом приближении.
Есть пожелания пользователя:
1)
-- или более плотное автоматическое построение - по вертикали;
-- или возможность последующего сдвига блоков вручную.
Компактность построений - это очень острое (жесткое) техническое требование.
2)
Думать:
какой есть существенный смысл "овальных" терминаторов - стадионов, капсул и т.п.?
В данном случае:
надписи Начало и Конец - лишние бирюльки.
А место по вертикали "жрут".
(В более сложных схемах такие элементы могут быть полезны - для отыскания входа и выхода.)

-----------------
Дополнительные формы представления алгоритма:
Вложение:
ПереТра-02.PNG
ПереТра-02.PNG [ 25.65 КБ | Просмотров: 14976 ]

Есть пожелание пользователя - для вертикального исполнения блок-схем:
возможность наложения контурных прямоугольных блоков на разные фрагменты схем.

-----------------
Данный алгоритм взаимодействует с окружающей средой.
Этот аспект может быть уточнен следующей схемой
(примерная прикидка):
Вложение:
ПереТра-04.PNG
ПереТра-04.PNG [ 35.61 КБ | Просмотров: 14976 ]


=================
Это нечеткий алгоритм - в исполнении человеком.
В программной реализации это алгоритм превращается
в обычную четкую параметрическую программную модель - с параметрическими настройками.
Вложение:
ПереТра-05.PNG
ПереТра-05.PNG [ 22.95 КБ | Просмотров: 14975 ]

Вложение:
ПереТра-06.PNG
ПереТра-06.PNG [ 35.58 КБ | Просмотров: 14975 ]


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


Последний раз редактировалось andr Пятница, 11 Март, 2016 13:57, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон vs нечеткие алгоритмы
СообщениеДобавлено: Пятница, 11 Март, 2016 13:26 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1356
Вопросы и иконы "Ждать ..." можно и адекватнее заменить на цикл Ждать.

Цикл Ждать входит в состав перечня блоков языка Дракон.

Все машинки, глядя на капот, ориентированы для движения только слева направо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон vs нечеткие алгоритмы
СообщениеДобавлено: Пятница, 11 Март, 2016 13:36 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
LKom писал(а):
Вопросы и иконы "Ждать ..." можно и адекватнее заменить на цикл Ждать.

Цикл Ждать входит в состав перечня блоков языка Дракон.

В принципе - да.
Может быть исходную блок-схему надо подредактировать.

Но основная нечеткость заключается в неопределенном, в общем случае, параметре "близко":
у разных реальных персон - это будет по-разному
и зависеть от соотношения скоростей машин и персон.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон vs нечеткие алгоритмы
СообщениеДобавлено: Суббота, 12 Март, 2016 07:48 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
andr писал(а):
http://forum.oberoncore.ru/viewtopic.php?p=94812#p94812
Вложение:
ПереТра-01.PNG
ПереТра-01.PNG [ 12.9 КБ | Просмотров: 14943 ]

Вложение:
ПереТра-05.PNG
ПереТра-05.PNG [ 22.95 КБ | Просмотров: 14943 ]

================
Это нечеткий алгоритм - в исполнении человеком.
В программной реализации этот алгоритм превращается
в обычную четкую параметрическую программную модель - с параметрическими настройками.
Вложение:
Вложение ПереТра-05.PNG больше недоступно

Вложение:
Вложение ПереТра-06.PNG больше недоступно

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

Ситуация здесь состоит в следующем:

1
Модельная программная реализация в данном случае
это грубая четкая двоичная подмена нечеткого, по своей сути алгоритма,
представленного блок-схемами.

(кстати: верхний поток машин cars-2 по ошибке едет влево задом наперед)
(но все работает исправно)

1.1
Программная модель использует двоичные предикаты (логические условия)
p1, p2 = 1, 0 (да, нет; истина, ложь):
Близко идут машины (слева или справа).

Близко означает
p1, p2 = 1: на контрольном (желтом) отрезке есть автомобили (слева или справа).
Если персона начнет движение вперед, то будет столкновение:
-- либо на нее наедет автомобиль;
-- либо она наткнется на движущийся автомобиль.

Отрицание этого означает
p1, p2 = 0: на контрольном (желтом) отрезке нет автомобилей (слева или справа).
Если персона начнет движение вперед, то она его пересечет без столкновений.
При этом:
-- либо автомобили далеко и не заедут на контрольный участок до конца перехода данной персоной;
-- либо автомобили заедут на контрольный участок, но не доедут до персоны
(и она "прошмыгнет" перед носом какого-то автомобиля).

1.2
Скорости и длины контрольных участков могут меняться настройкой параметров.
Они одинаковы для всех автомобилей и персон и не меняются на протяжении очередных сеансов прогона модели.

Таким образом можно подобрать параметры безопасного продвижения
(условно) бесконечного первого потока персон persons-1:
зацикленный конечный поток.

Если параметры подобраны неправильно,
то постепенно будут происходить столкновения и персоны будут выбиваться из общего потока
(исчезать при столкновении).

У второго потока персон persans-2 специально не используется указанный механизм.
Этот поток быстро выбивается до нуля
(при веселом оживлении в аудитории на каждое столкновение). :D

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

3
Такой нечеткий алгоритм могут успешно осваивать школьники.

Это проверено личной практикой.
1)
Такой или примерно такой алгоритм (правило) перехода улицы
нам объяснил директор нашей школы перед началом 2-го класса.
И потом я им всю жизнь пользуюсь, хотя в более сложном варианте:
верчу головой сразу налево и направо и направо назад (или налево назад).
2)
Был опыт столкновения.
Я ехал на велосипеде.
Какой-то пацаненок стал перебегать дорогу с пустым бидоном.
Он смотрел правильно - налево,
но далеко налево, не видел меня перед своим носом
и с грохотом врезался мне в багажник (но без последствий). :D

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

Представляет интерес доработать блок-схему согласно замечанию LKom:
http://forum.oberoncore.ru/viewtopic.php?p=94813#p94813

--------------------
Есть желание заняться более точным программным моделированием
указанного нечеткого алгоритма - с применением нечеткой логики предикатов p1, p2:
- в общепонятном бытовом применении
(хотя сейчас это не очень понято в современных дорожных условиях и правилах);
- для мобильных роботов - на компьютере или в натуре с лего-комплектами.

------------------------
Такие нечеткие алгоритмы могут быть в медицинской практике:
в правильном их применении и с разными возможными нарушениями.
И вообще в алгоритмах с учетом человеческого фактора:
http://forum.oberoncore.ru/viewtopic.php?p=94674#p94674
http://forum.oberoncore.ru/viewtopic.php?p=94697#p94697

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон vs нечеткие алгоритмы
СообщениеДобавлено: Суббота, 12 Март, 2016 10:21 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
andr писал(а):
Но основная нечеткость заключается в неопределенном, в общем случае, параметре "близко":

andr писал(а):
Интересно, есть ли у кого-то на форуме какие-то соображения по этим поводам?

Понятие «близко», всего лишь библиотечная функция исполнителя, и нечёткой она представляется только по незнанию нами её устройства.

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

Нечёткий алгоритм представляет собой процент веры писателя алгоритма в счастливый исход действий исполнителя, описанных в этом алгоритме. Особенно это касается медицинских алгоритмов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон vs нечеткие алгоритмы
СообщениеДобавлено: Суббота, 12 Март, 2016 11:30 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
andr писал(а):
Есть пожелания пользователя:
1)
-- или более плотное автоматическое построение - по вертикали;
Ещё не все внутренние резервы использованы.
Поджать рисунок по вертикали можно слегка увеличив ширину икон.
Вложение:
a1.png
a1.png [ 13.79 КБ | Просмотров: 14930 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон vs нечеткие алгоритмы
СообщениеДобавлено: Суббота, 12 Март, 2016 11:43 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
Ильченко Эдуард писал(а):
andr писал(а):
Есть пожелания пользователя:
1)
-- или более плотное автоматическое построение - по вертикали;
Ещё не все внутренние резервы использованы.
Поджать рисунок по вертикали можно слегка увеличив ширину икон.
Вложение:
a1.png

Эта хитрость понятна.
Но имелось в виду уплотнение взаимного расположения блоков:
их сдвиг ближе друг к другу.

Но это пожелание - для обсуждения на будущее.
А пока приемлемо и в таком виде.


Последний раз редактировалось andr Суббота, 12 Март, 2016 12:13, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон vs нечеткие алгоритмы
СообщениеДобавлено: Суббота, 12 Март, 2016 12:13 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
Ильченко Эдуард писал(а):
andr писал(а):
Но основная нечеткость заключается в неопределенном, в общем случае, параметре "близко":

andr писал(а):
Интересно, есть ли у кого-то на форуме какие-то соображения по этим поводам?

Понятие «близко», всего лишь библиотечная функция исполнителя, и нечёткой она представляется только по незнанию нами её устройства.

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

Нечёткий алгоритм представляет собой процент веры писателя алгоритма в счастливый исход действий исполнителя, описанных в этом алгоритме. Особенно это касается медицинских алгоритмов.

Не очень понял относительно библиотечных функций и процентах писателя алгоритма.
Здесь пока не было речи о вероятностях.

Дальше объясню по-крестьянски - относительно нечеткой логики:
как себе это представляю (раньше специально такими вопросами не занимался).
Вложение:
ПереТра-08.PNG
ПереТра-08.PNG [ 10.47 КБ | Просмотров: 14925 ]

1
В первом случае для оператора "посмотреть налево"
задается четкая дискретная нуль-единичная логическая функция (предикат)
оценки условия "близко идут машины (слева)":
p1 = 0,1,
x0 - задет левую границу левого интервала проверки логического условия p1.

Это программно реализуется исходным текстом (среда моделирования NetLogo):
Вложение:
ПереТра-07.PNG
ПереТра-07.PNG [ 32.58 КБ | Просмотров: 14925 ]

На самом деле здесь оказалась проверка ситуации для персоны в средней позиции:
"посмотреть направо", "если близко идут машины (справа)".
Здесь будет обратный график - нет времени переделывать.

2
Для нечеткого алгоритма необходимо задание нечеткой логическая функция проверки левого интервала:
p1 = f(x) в закрытом интервале значений [0, 1].

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон vs нечеткие алгоритмы
СообщениеДобавлено: Суббота, 12 Март, 2016 17:04 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
andr писал(а):
Дальше объясню по-крестьянски - относительно нечеткой логики:

Ну, и я тогда уж со всей рабоче-крестьянской прямотой : )

Исполнитель (персона), в рассматриваемом алгоритме, имеет два вполне дискретных (чётких) состояния: «стоять» и «идти».

Переключение между состояниями происходит в результате оценки расстояния от исполнителя до автомобиля. Если автомобиль близко — стоять, если далеко — идти. За оценку расстояния отвечает некая функция. Назовём ее «Близко». Результат работы функции дискретные величины: да-нет.

Если исполнитель имеет свою систему управления («персона» подразумевает некоторую автономию), то функция Близко() является встроенной функцией системы управления персоной, а значит, в общем случае, её содержание неизвестно писателю алгоритма. Она просто вызывается в определённое время. Такую функцию я называю библиотечной. Она есть, её содержание может быть неизвестно, ею можно пользоваться.

Как же функция Близко() вычисляет расстояние?
Вы утверждаете, что о вероятностях речь не идёт. Учитывая, что результатом могут быть только два значения, получается, что на всей шкале измеренных расстояний существует только одна пороговая точка (не зависимо от её положения на показанных Вами графиках), относительно которой формируется результат. Значит алгоритм чётко определён (с точностью до погрешности измерения).

Незнание писателем алгоритма устройства функции Близко() порождает у него ощущение нечёткости алгоритма перехода улицы персоной. Понятие «нечёткий» относится к уровню описания работы исполнителя, но не к уровню исполнения. При исполнении всё чётко. Так же и в ЯП при работе с библиотечными функциями: нечётко говорю «соединись с сервером», а она (функция) чётко соединяется. Тут вопрос в другом… А бывают ли алгоритмы чёткими?

P.S. В Вашем алгоритме бОльшая нечёткость заключена в "ждать пока пройдут". Если машина была близко и остановится перед персоной, то это машина прошла или нет? У персоны есть шансы никогда не перейти дорогу : )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон vs нечеткие алгоритмы
СообщениеДобавлено: Понедельник, 14 Март, 2016 15:40 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
Ильченко Эдуард писал(а):
andr писал(а):
Дальше объясню по-крестьянски - относительно нечеткой логики:

Ну, и я тогда уж со всей рабоче-крестьянской прямотой : )

Исполнитель (персона), в рассматриваемом алгоритме, имеет два вполне дискретных (чётких) состояния: «стоять» и «идти».

Это так в исходном четком алгоритме, или точнее:
-- в некотором четком его исполнении человеком (трудно себе это представить, но допустим);
-- в примитивной четкой программной реализации - в представленном выше модельном примере.

А в реальном нечетком исполнении алгоритма перехода трассы человеком вопрос будет сложнее:
-- состояние "стоять" (и не дергаться);
-- состояние "идти" или бежать" - с разной скоростью, постоянной или переменной - в зависимости "насколько близко" подойдут машины, когда начнется переход.
Для этого реальный нечеткий алгоритм может быть как-то уточнен.

Ильченко Эдуард писал(а):
Переключение между состояниями происходит в результате оценки расстояния от исполнителя до автомобиля. Если автомобиль близко — стоять, если далеко — идти. За оценку расстояния отвечает некая функция. Назовём ее «Близко». Результат работы функции дискретные величины: да-нет.

Если исполнитель имеет свою систему управления («персона» подразумевает некоторую автономию), то функция Близко() является встроенной функцией системы управления персоной, а значит, в общем случае, её содержание неизвестно писателю алгоритма. Она просто вызывается в определённое время. Такую функцию я называю библиотечной. Она есть, её содержание может быть неизвестно, ею можно пользоваться.

Нет, так мы не договаривались.

Для четкой реализации у нас есть четкие условия (с переменными значениями - для экспериментов):
примитивно, но мы их хорошо понимаем.

Для нечеткой реализации мы пока не понимаем,
но задаемся целью понять - когда-нибудь.

Ильченко Эдуард писал(а):
Как же функция Близко() вычисляет расстояние?
Вы утверждаете, что о вероятностях речь не идёт. Учитывая, что результатом могут быть только два значения, получается, что на всей шкале измеренных расстояний существует только одна пороговая точка (не зависимо от её положения на показанных Вами графиках), относительно которой формируется результат. Значит алгоритм чётко определён (с точностью до погрешности измерения).

В принципе мы может ввести фактор вероятности - но это апосля.
А пока все реализуем без вероятностей:
-- в примитивной четкой программной реализации алгоритма - никакого фактора вероятности:
мы можем менять только длину контрольного интервала - для исследований;
-- в более совершенной нечеткой реализации (пока неизвестной как),
сначала тоже без фактора вероятности.
А потом можно и с вероятностями побаловаться (тоже пока неизвестно как).

Ильченко Эдуард писал(а):
Незнание писателем алгоритма устройства функции Близко() порождает у него ощущение нечёткости алгоритма перехода улицы персоной.

Мы должны знать и баста - когда-нибудь, по крайней мере.

Ильченко Эдуард писал(а):
Понятие «нечёткий» относится к уровню описания работы исполнителя, но не к уровню исполнения. При исполнении всё чётко.

Для (предполагаемого) нечеткого алгоритма понятие нечеткости относится
-- и к оценке нечеткой ситуации типа "близко";
-- и к соответствующей реакции персоны.

Ильченко Эдуард писал(а):

Так же и в ЯП при работе с библиотечными функциями: нечётко говорю «соединись с сервером», а она (функция) чётко соединяется.

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

Ильченко Эдуард писал(а):
Тут вопрос в другом… А бывают ли алгоритмы чёткими?"

Например, пошаговый алгоритм вычисления расчетной формулы (площади трапеции):
s = ((a + b) / 2) * h) - вполне четкий (особенно для целочисленных решений).

Ильченко Эдуард писал(а):
P.S. В Вашем алгоритме бОльшая нечёткость заключена в "ждать пока пройдут". Если машина была близко и остановится перед персоной, то это машина прошла или нет? У персоны есть шансы никогда не перейти дорогу : )

Что да, то да.
Такой алгоритм - не совсем.
Спасибо за бдительность.

Хотя вроде бы нет.
А в приведенном примере программной реализации
автомобили (и персоны) останавливаются только при приостановке программы.

========================
В общем появилась хорошая алгоритмическая задача
исследования, алгоритмического и программного моделирования
поведения персоны при пересечении трассы:
человека или, хотя-бы, робота.

Разные четкие и нечеткие алгоритмы,
с вероятностями и нейронными сетями - с обучением (и шишками) и т.п.

-------------------------
Если поставим задачу, рано или поздно что-нибудь да будет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон vs нечеткие алгоритмы
СообщениеДобавлено: Понедельник, 14 Март, 2016 23:47 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
andr писал(а):
В общем появилась хорошая алгоритмическая задача
исследования, алгоритмического и программного моделирования
поведения персоны при пересечении трассы:
человека или, хотя-бы, робота.

Давайте, робота.
Чем он будет ощущать края дороги, саму дорогу, расстояние до краёв дороги, расстояние до автомобилей, свою скорость?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон vs нечеткие алгоритмы
СообщениеДобавлено: Вторник, 15 Март, 2016 07:57 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
Ильченко Эдуард писал(а):
andr писал(а):
В общем появилась хорошая алгоритмическая задача
исследования, алгоритмического и программного моделирования
поведения персоны при пересечении трассы:
человека или, хотя-бы, робота.

Давайте робота.

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

Кто-то нам показал недавно такой сайт: :D
Вложение:
ПереТра-10.PNG
ПереТра-10.PNG [ 220.93 КБ | Просмотров: 14845 ]
https://habrahabr.ru/company/makeitlab/blog/253357/
Там же есть ссылка для скачивания:
Вложение:
ПереТра-11.PNG
ПереТра-11.PNG [ 12.14 КБ | Просмотров: 14845 ]


Ильченко Эдуард писал(а):
Чем он будет ощущать края дороги, саму дорогу, расстояние до краёв дороги, расстояние до автомобилей, свою скорость?
Там все есть , что нам потребуется.

Первичная постановка задачи - до предела все упрощаем:

1
Первоначально можно оставить ровную клетчатую поверхность.

2
Формируем на поверхности 2 дороги:
2.1
Первая дорога замкнутая - типа:
сильно вытянутый контур стадиона.
Это основная двухсторонняя трасса - с нейтральной полосой.
2.2
Поперек нее прокладываем вторую дорогу - тропу для продвижения робота

3
На замкнутую трассу размещаем поток автомобилей
(сначала один мобиль, потом поток - в случайном порядке по дистанции).

4
На поперечную тропу размещаем 1-го робота.
Он будет ходить туды-сюды.

5
Для начала все предельно упрощается.
5.1
За основу можно принять первоначальный алгоритм.
http://forum.oberoncore.ru/viewtopic.php?p=94812#p94812
5.2
Первоначально - четкая программная реализация алгоритма.
Лишь бы все двигалось более или менее правдоподобно.

----------------------
Лично еще не разбирался с языком программирования.
Но есть повод нАчать (правда всякая текучка забодала).
Попробую подтянуть толковые резервы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон vs нечеткие алгоритмы
СообщениеДобавлено: Вторник, 15 Март, 2016 20:31 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
andr писал(а):
Там все есть , что нам потребуется.
...
Попробую подтянуть толковые резервы.

Отлично.
Как только будет готова инфраструктура, ну там трасса-роботы, с удовольствием приму участие в обсуждении алгоритмов : )


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB