GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.5 (56)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: Выполнение команд
Андрей
Сообщений: 3943
На: Выполнение команд
Добавлено: 11 мар 11 17:43
Цитата:
Автор: NewPoisk
Запрограммировать его можно?
Предполагаю, что да. Ничто этому не противоречит.

Цитата:
Автор: NewPoisk
А то, что перебор 10 вариантов — это одно, а 10**10 — совсем другое
Ну давайте подсчитаем. Допустим у робота 1000 эффекторов. Для выполнения одной конкретной команды, допустим, нужно 10 эффекторов. Если разрешение таймера, скажем, 1/10 секунды, каждую секунду можно, тестируя, перебирать 36.288.000 вариантов односложных заданий. И гарантированно(!) найти решение. Это если действовать "в лоб". Но можно действовать "умно", и учить робота выполнять сначала самые мелкие суб-команды (например, сгибать не весь палец, а отдельную фалангу). И тогда количество вариантов перебора для выполнения сложной команды резко сократится. Робот будет перебирать не сокрщения отдельных мышц, а целые энграммы.
Так что Ваши опасения о комбинаторном взрыве совершенно беспочвенны. Иного варианта, кроме перебора, быть не может в принципе, потому что робот (или человек) не может оперировать энграммой, которой у него нет. Ему необходимо сначала её угадать, подобрать, выработать.
[Ответ][Цитата]
Andrey
Сообщений: 128
На: Выполнение команд
Добавлено: 11 мар 11 18:23
Цитата:
Автор: Андрей

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


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

И почему бы в схему не внести понятия мотиваций как параллельно действующих "команд" согласно вашей терминологии, с изменяемым весом и выбором действия согласно текущим значениям весов мотиваций?
[Ответ][Цитата]
NO.
Сообщений: 10700
На: Выполнение команд
Добавлено: 11 мар 11 18:32
Это робот, он на каждое действие возрождается и после него каждый раз умирает. 10 раз в секунду. Что такое дифуры мы не знаем.
[Ответ][Цитата]
Андрей
Сообщений: 3943
На: Выполнение команд
Добавлено: 11 мар 11 19:54
Цитата:
Автор: Andrey
Можно "мелкие суб-команды" выстраивать в устойчивые последовательности, эквивалентные динамическим стереотипам. Например, не сгибание фаланги, а целый шаг, состоящий из десятков "суб-команд".
Совершенно верно. В этом вся затея.

Подумал тут, в свете этого, читая в Wiki статью про колбасу. Этимология слов показывает нам, как это слово-энграмма рождалось, из каких суб-энграмм синтезировалось:
"Возможно, слово пришло из тюркских языков: балкарское «къолбаса», «къол»-рука, «бас»-давить, «баса» — давя, то есть заправляя рукой, турецкое kulbasti означает «поджаренное на сковороде мясо». По другой версии, слово кълбаса имеет славянский корень и родственно слову колобок. По третьей версии, слово «колбаса» произошло от еврейского словосочетания «коль басар», что означает «всё мясо» или «всякая плоть»".
Если я не ошибаюсь (а если ошибаюсь - плиз, контрпример в студию) сложные слова всегда образуются путём объединения ровно двух слов. И дети, при научении разговаривать, всегда проходят такие этапы - одно слово, два слова, полноценная речь. Что какбэ намекает на то, что любая комплексная энграмма (динамический стереотип) собирается не более, чем из двух энграмм.

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

Обратная афферентация волей-неволей всегда будет выделена в отдельное "царство" команд, потому что мир может меняться, задания могут меняться, но тело практически не меняется. И это принципиально важно для успешного обучения и автоматизации. Ведь если тело будет постоянно меняться, то роботу придётся постоянно переучиваться выполнять самые элементарные команды. А это нивелирует всю идею. Поэтому считаем, что все эффекторы и степени свободы тела робота определены инженером изначально и не подвергаются модификациям в процессе обучения и работы.

Нужно ли ввести ещё какую-то категорию "параллельных" команд? Мне кажется, что нет. Если видите, что нужно - расскажите.

Цитата:
Автор: NO.
Это робот
Уже хорошо.

Цитата:
Автор: NO.
он на каждое действие возрождается и после него каждый раз умирает
Робот видит свои действия. А это значит, что результат своих действий неизбежно становится для него командой, которую он может выполнять (рефлексия через мир). Именно это даёт людям ощущение слитности, плавности событий и своих действий.
Что касается "мёртвого" простоя робота в моменты, когда все задания им выполнены, то можно первым заданием (при "рождении") дать ему задание: "ищи новое" и присвоить ему самый слабый приоритет. Таким образом, это задание всегда будет обнаруживаться на дне стека и при отсутствии важных задач, робот будет тупо, как хомосапы, лазить в инете и смотреть сериалы...
Но меня вполне устраивает ситуация, когда на пустое задание робот будет "реагировать" ожиданием. Да, это не похоже на поведение человека, но мы ведь и не собираемся копировать все недостатки человека, как механизма выполнения заданий...
[Ответ][Цитата]
Dark Welder
Сообщений: 1155
На: Выполнение команд
Добавлено: 12 мар 11 13:19
Цитата:
Автор: Андрей
Подумал тут, в свете этого, читая в Wiki статью про колбасу. Этимология слов показывает нам, как это слово-энграмма рождалось, из каких суб-энграмм синтезировалось:
"Возможно, слово пришло из тюркских языков: балкарское «къолбаса», «къол»-рука, «бас»-давить, «баса» — давя, то есть заправляя рукой, турецкое kulbasti означает «поджаренное на сковороде мясо». По другой версии, слово кълбаса имеет славянский корень и родственно слову колобок. По третьей версии, слово «колбаса» произошло от еврейского словосочетания «коль басар», что означает «всё мясо» или «всякая плоть»".
Если я не ошибаюсь (а если ошибаюсь - плиз, контрпример в студию) сложные слова всегда образуются путём объединения ровно двух слов. И дети, при научении разговаривать, всегда проходят такие этапы - одно слово, два слова, полноценная речь. Что какбэ намекает на то, что любая комплексная энграмма (динамический стереотип) собирается не более, чем из двух энграмм.

Проблема, возможно, в том, что "колбаса" для разговаривающих на русском языке - изначально простое слово.
Допустим, что это слово произошло от турецкого. Я предполагаю, как.
"Külbastı" - это "kül" "bastı" - "прижатый к золе".
"et külbastı" - мясо прижатое к золе".
"kuzu külbastı" - "баранина прижатая к золе".
"dana külbastı" - "телятина прижатая к золе".
Причем турки пишут не только одним словом "külbastı", но и двумя "Kül bastı".
Но даже это различие - только в письменной речи. А в устной - что "külbastı", что "Kül bastı" звучит одинаково. То есть в устрой речи это не сложное слово, а два простых.
Прихожу я в турецкое кафе. Тыркаю в кусок мяса. То, что мне говорит турок я воспринимаю как "это кюлбаса" ("et külbastı"). Для меня этот продукт обозначается простым словом, просто "кюлбаса". А для него - осмысленное выражение из двух слов.

По поводу "двух слов". "Синхрофазотрон" - три слова (ну в принципе, его, конечно, можно назвать "синхро"+"фазотрон" - типа из двух слов). "Угловибропил" (после того, как мастер увидел, что Бош назвал новое устройство "универсальный резак MultiCutter" он тихо офигел и в обиходе прижилось слово "Угловибропил").

Есть ли в устной речи "сложные слова" - это еще большой вопрос.
[Ответ][Цитата]
Andrey
Сообщений: 128
На: Выполнение команд
Добавлено: 12 мар 11 14:05
Цитата:
Автор: Андрей

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


В теории поведения животных есть такое понятие как преобладающая реакция поведения. Преобладать какая-то реакция может в конкретный момент времени, или на протяжении временного отрезка.

Возьмем ваш пример - робот-разведчик отслеживает вражескую технику на дороге.
Основная мотивация - заметить авто и бронетехнику противника и передать координаты по радиоканалу. Эта мотивация преобладает на протяжении всего времени выполнения задания.

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

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

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

Вся деятельность - это не последовательное выполнение программы, а постоянное сравнение веса мотиваций и принятие решения в соответствии с действующим весом этих мотиваций.
[Ответ][Цитата]
Андрей
Сообщений: 3943
На: Выполнение команд
Добавлено: 12 мар 11 19:58
Цитата:
Автор: Andrey
есть приоритетная мотивация, которая имеет вес выше. И робот передает данные в эфир, несмотря на опасность демаскировки - тоже из-за преобладающей мотивации
Вы точно уловили суть задачи - нужно организовать "task management". На мой взгляд, есть два варианта того, как это можно сделать:
1. В каждый момент времени есть массив заданий, которые выполняются одновременно и взаимоувязано. Т.е. задание - не один вектор, а динамическая структура, к которой постоянно добавляются новые задания и удаляются выполненные или низкоприоритетные задания.
2. В каждый момент времени есть только одно задание, которое выполняется в контексте других заданий.

Чтобы решить, какой вариант правильный, я думаю, достаточно определиться с тем, как устанавливается приоритет новопоступившего задания.
Если новое задание поступило в момент ожидания (момент отсутствия активных заданий) - новое задание получает высший приоритет. Тут всё понятно.
Если же новое задание поступило в момент выполнения какого-то задания, то как определить, какое задание важнее? В сравнении с чем? Продолжить выполнение выполняемого сейчас задания, отложить его или забыть начисто?

У человека разрешение этой многозначности состоит в том, что всегда есть одно приоритетное задание - "выживай" или "поддерживай состояние удовольствия" или "минимизируй боль". Но это значит, что это задание выполняется всегда, оно всегда активно. Таким образом, для установки приоритета любого нового задания должно обязательно быть активным задание максимального приоритета, которое не меняется ни при каких обстоятельствах, в вышеприведённом примере это задание - "заметить авто и бронетехнику противника и передать координаты по радиоканалу". Робот маскируется, маневрирует, подзаряжает батареи только лишь с одним смыслом - выполнить поставленное над-задание.
Видимо в этом кроется объяснение такого фундаментального и определяющего логического феномена как "противоречие". Новое задание должно согласовываться с главным заданием, чтобы новое задание начало выполняться. Новое задание не должно противоречить главному заданию т.е. не должно уневозможнивать его выполнение, должно помогать его выполнению.

С учётом сказанного, я выбираю вариант 2 и, возможно, стоит в схему ввести ещё одни блок - "главное задание", относительно которого устанавливается приоритет всех других заданий, в зависимости от того, как они согласуются с этим главным.

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

И вот здесь мы приходим к важной части всего изложения - понятию "хозяина". Ведь только внешний хозяин может определить какое задание главное, относительно какого задания устанавливать приоритет для всех остальных заданий. "Изнутри" робот этого сделать не сможет.
[Ответ][Цитата]
NO.
Сообщений: 10700
На: Выполнение команд
Добавлено: 12 мар 11 20:12
У противника точно такой же робот с точно такой же мотивацией - заметить этого и не быть замеченным.
[Ответ][Цитата]
Андрей
Сообщений: 3943
На: Выполнение команд
Добавлено: 12 мар 11 20:44
Достигнет успеха тот, у кого был лучше учитель. Или у кого кусты гуще.
[Ответ][Цитата]
NO.
Сообщений: 10700
На: Выполнение команд
Добавлено: 12 мар 11 21:16
Если учителем будут весы, сопоставляющие веса мотиваций то два робота-разведчика в кустах столкнутся лбами.
[Ответ][Цитата]
Andrey
Сообщений: 128
На: Выполнение команд
Добавлено: 12 мар 11 21:20
Цитата:
Автор: Андрей

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


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

Цитата:
Если же новое задание поступило в момент выполнения какого-то задания, то как определить, какое задание важнее? В сравнении с чем? Продолжить выполнение выполняемого сейчас задания, отложить его или забыть начисто?


Если рассматривать задания как отдельные равноценные подпрограммы, которые все непременно должны быть отработаны, то действительно может быть сложно принять решение.
Но если же каждое задание имеет текущий вес, то легко принять решение, ориентируясь на этот вес.
Поступила новая команда? Отлично. Задание встраивается в систему поведения наряду с другими заданиями. На вес могут влиять разные факторы. Например, уровень приоритетности задания. Можно отдать команду с высшим уровнем приоритетности - к тебе летит беспилотник, все бросай и прячься. Тогда робот прекратит выполнение других команд и спрячется. Если уровень "высший минус один", то робот это сделает только если не реализовывает высшую мотивацию. Например, робот видит танк, и получает предупреждение о беспилотнике. Даже под угрозой обнаружения робот, невзирая на команду прятаться, передает координаты цели.
Главное - продуманная система весов и приоритетов.
[Ответ][Цитата]
Андрей
Сообщений: 3943
На: Выполнение команд
Добавлено: 12 мар 11 23:17
Цитата:
Автор: Andrey
Если рассматривать задания как отдельные равноценные подпрограммы, которые все непременно должны быть отработаны, то действительно может быть сложно принять решение
И такие задачи человек тоже решает,
1. либо как задачу коммивояжёра, выполняя все задачи последовательно,
2. либо "играет аккордами", пытаясь выполнить сам все задания, комплектуя их в непротиворечивые группы, которые можно выполнять одновременно,
3. либо распараллеливает процесс, передавая задания своим рабам.
Любое из этих 3-х действий тоже является выполнением задания.

Цитата:
Автор: Andrey
На вес могут влиять разные факторы. Например, уровень приоритетности задания.
Главное - продуманная система весов и приоритетов.
Кем и как продуманная? Вы вводите новые понятия, которые, имхо необоснованно, усложняют картину, дублируя то, что уже есть.
Допустим, вес устанавливается по приоритету, а приоритет устанавливается как? Ясно одно, что робот сам не может установить ни вес, ни приоритет. Это может сделать только его хозяин извне. Но! Важнейшее "но"! Хозяин, выставляет приоритеты и веса, сам выполняя при этом, некую задачу, команду!
Мы можем вынести процесс принятия решения о том, какой приоритет устанавливать тому или иному заданию, за пределы робота, в голову его хозяина. Но хозяин - такой же робот, который выполняет задания. В этом прелесть схемы, что она естественным образом иерархизируется и рекурсируется.
Только верховный хозяин и его верховное задание может определить, какие приоритеты каким заданиям устанавливать. А это делается так, как я указал выше - если новое задание противоречит главному заданию, оно понижается в приоритете, если помогает главному - повышается. И здесь явно просматривается необходимость прогноза...
[Ответ][Цитата]
NewPoisk
Сообщений: 3745
На: Выполнение команд
Добавлено: 14 мар 11 8:33
Цитата:
Автор: Андрей
Предполагаю, что да. Ничто этому не противоречит.

Тогда ждем демку.

Цитата:
Автор: Андрей
Робот будет перебирать не сокрщения отдельных мышц, а целые энграммы.

Попробуйте применить эти рассуждения к шахматам. Перебирать не отдельные ходы, а целые позиции.
[Ответ][Цитата]
covax
Сообщений: 1609
На: Выполнение команд
Добавлено: 14 мар 11 8:35
Цитата:
Автор: Андрей
А это делается так, как я указал выше - если новое задание противоречит главному заданию, оно понижается в приоритете, если помогает главному - повышается. И здесь явно просматривается необходимость прогноза...


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

Ваши рассуждения далеки от реализации. Начните создавать робота по вашей схеме и вы увидите, что возможность адаптации вы не закладываете вообще.
[Ответ][Цитата]
Andrey
Сообщений: 128
На: Выполнение команд
Добавлено: 14 мар 11 16:17
Цитата:
Автор: Андрей

Кем и как продуманная? Вы вводите новые понятия, которые, имхо необоснованно, усложняют картину, дублируя то, что уже есть.
Допустим, вес устанавливается по приоритету, а приоритет устанавливается как? Ясно одно, что робот сам не может установить ни вес, ни приоритет. Это может сделать только его хозяин извне.


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

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

Команда "переместиться в пункт B" выполняется по-рарзному в зависимости от прав доступа того, кто команду отдал (приоритетность внешних команд), а также от состояния внутренних систем, информации от систем наблюдения и т.д.
[Ответ][Цитата]
 Стр.5 (56)1  2  3  4  [5]  6  7  8  9  ...  56<< < Пред. | След. > >>