setar писал(а):Для сложного робота рационально выделить следующие задачи
- обеспечение жизнедеятельности (подзарядка, починка, профилактика)
- периодическая связь с управляющим центром ( дабы не потерять контроль), ну и для получения новых "выполнимых задач"
- пополнение базы знаний об окружающем мире ( самообучение )
- определение своего места в этом мире (ориентация)
- исполнение поставленных задач в соответствии с их приоритетами
Думаю можно сделать так:
- Приоритет 100% - "Неразрушающее" правило.
- Приоритет 095% - Первому (с момента сброса робота) назвавшему себя хозяином дать приоритет на задачи 090% и на делегирование - 080%, кроме этого ему запрещается понижать свой приоритет.
- Приоритет 050% - Обеспечение жизнедеятельности.
Приоритет команд хозяина выше, чтобы всегда можно было сказать "стоять!", чтобы робот в случае чего не ломился к зарядному устройству.
Приоритет неразрушающего правила выше всего, чтобы этот домашний питомец не ломанулся через стекло выполнять команду, которую никак иначе выполнить не смог.
setar писал(а):Вообще то по грамотному сюда нужно добавить набор правил, регулирующий отношения между роботом и человеком ( которые Азимов сформулировал в декабре 1940-го в письме Джону Кэмбеллу, редактору журнала Astounding Scince Fiction)
С ними все ужастно, потому что, чтобы их проверить надо написать искуственный интеллект

Есть гораздо более простые, хотя и ущербные, но для наших целей видимо годные, варианты таких правил, например:
Не оказывать на объекты действия, за исключением поверхности по которой движемся и объектов, которые нам указали задействовать.Однако здесь имеем проблему - если робот будет знать что молоко в холодильнике, надо будет ему вместо
"Принеси молоко"
сказать
"Открой холодильник, возьми молоко, закрой холодильник, принеси молоко мне"
Хорошо, если при этом двери на кухню и из комнаты будут открыты
----------------------------------------------------------------------------------
Еще видимо надо будет сделать "пунктик", если 2 команды противоречат друг-другу и имеют одинаковый приоритет, то действует последняя данная.