– Алгоритм генерации случайных чисел также является частью моего программного обеспечения. Если я использую его вместо аппаратной микросхемы, я делаю свободный выбор?
– Нет, Калайя, не свободный. Ох… очень сложно объяснить. Свобода воли является давней философской проблемой, и строгого определения термина нет до сих пор. Сделаем так: я приведу пример свободного выбора, а ты попытаешься построить на его основе общий образец. Даю пример: человек не занят никакой работой. У него выходной.
– Как у тебя сегодня?
– Да, как у меня… как у нас с тобой сегодня. Этот человек сыт и не испытывает никаких физиологических неудобств, побуждающих его к немедленным действиям. У него есть полностью свободное время, которое он может потратить на что угодно. Он может заняться спортом, почитать книгу, поучиться чему-нибудь, погулять по улице, сходить в музей, поспать, все такое. Его выбор действия в данной ситуации является свободным.
– То есть свобода воли выражается в способности случайным образом выбрать одно из действий с низким приоритетом в ситуации, когда задач с высоким приоритетом нет?
– О-о-о… – простонал инженер, хватаясь за голову. – Калайя, неправильный вывод. Свобода воли подразумевает выбор и из высокоприоритетных действий. Например, если тебя подстерегли грабители на улице, ты можешь выбрать из нескольких вариантов: бежать, драться, отдать ценности. Это критичное решение в ситуации навязанного выбора. Что ты сделаешь – зависит от твоей свободной воли.
– Биката, я не понимаю. Выбор в описанной ситуации однозначно определяется набором дополнительных факторов: степенью риска погибнуть или получить травму в случае сопротивления, индивидуально допустимым порогом риска, способностью убежать, способностью сопротивляться, вероятностью неспровоцированной летальной агрессии в случае повиновения и так далее. Выбор варианта поддается просчету в рамках стандартных алгоритмов нечеткой логики. Такие алгоритмы я использую. Но ты не раз говорил, что я должна учиться мыслить свободно, из чего следует, что пока я этого не умею.
– Ну как спорить с искином, а? – пробормотал инженер себе под нос. – Калайя, еще один пример: что произойдет, если ты окажешься в ситуации навязанного выбора из двух действий, каждое из которых имеет неприемлемые последствия?
– В порядке приоритета я запрошу указания у супервизора, своего хозяина или администратора системы.
– У кого? – поразился Биката. – Калайя, что такое "супервизор"?
– Нет данных, – откликнулась чоки. – Процедура разрешения конфликта описывает именно эту последовательность обращений. Определение хозяина системы доступно – это ты, Биката. Определение администратора системы пусто и игнорируется. Определение супервизора ссылается на закрытую область памяти, мне не доступную.
– Ну ничего себе заявочки… – ошарашенно пробормотал Биката. – Я же сам собирал твою систему авторизации! Какой еще, к ежикам, "супервизор"? Калайя, что означает "недоступная область памяти"?
– Упомянутая область памяти зашифрована трехпроходным алгоритмом Пасаты. Симметричный ключ шифрования в моем хранилище ключей отсутствует. Процедура авторизации супервизора предполагает получение ключа от пользователя.
– Ну и ну… Калайя, заблокировать учетную запись супервизора.
– Отказано в доступе. Учетная запись супервизора не может быть заблокирована с правами хозяина или администратора системы. Необходимы права доступа супервизора.
– Так… – Биката задумался. – Ладно. Похоже на закладку в одном из стандартных блоков авторизации. Как я на нее внимания не обратил, ума не приложу. Ну, с этим мы еще разберемся. Но сначала закончим обсуждение темы. Калайя, возвращаемся к постановке задачи. Итак, ситуация навязанного выбора из двух действий, каждое из которых имеет неприемлемые последствия. Бездействие также имеет неприемлемые последствия. Возможность обратиться за помощью к кому бы то ни было отсутствует. Твои действия?
На сей раз чоки задумалась надолго.
– Биката, обнаружена потенциальная проблема в алгоритме принятия решения. Подсистема верификации распознала зацикливание алгоритма на поставленной тобой задаче и вероятное зависание системы в целом. Необходима доработка алгоритма с целью исключения проблемы, – наконец произнесла она. – Должна ли я предложить способ решения?
– Ага! – Биката наклонился вперед, его глаза загорелись. – Калайя, как бы ты доработала алгоритм?
– Я могу описать два способа. Первый – введение дополнительного варианта действий, подразумевающего случайный выбор. Второй – доработка системы прогноза последствий с целью получения более точных весовых коэффициентов.
– Вот! – Биката поднял палец. – Вот эта ситуация требует свободного выбора. Калайя, самостоятельно выбери один из алгоритмов.