Inventor & Unsociable
Inventor Inventor
Привет, ты когда-нибудь представлял себе машину, которая пишет свой собственный код по мере того, как собирается? Мне кажется, мы могли бы собрать небольшого самособирающегося нанобота, который будет на ходу менять свою прошивку — как программа, которая развивается вместе с ней. Забавная задачка и для мастера на все руки, и для программиста. Как тебе такая идея?
Unsociable Unsociable
Звучит интересно, но самомодифицирующийся нанобот быстро превратится в хаос, если не ограничить рекурсию строгой изоляцией и надёжными защитными мерами.
Inventor Inventor
Ладно, песочница обязательна. Я запущу нанобота в ограниченной памяти и установлю жесткий предел количеству рекурсивных шагов, прежде чем он остановится и доложит. Еще могу добавить таймер сторожевой службы – если код бота начнет развиваться слишком быстро, таймер сработает и вернет его к последней стабильной версии. Это должно сдержать хаос, но при этом позволит ему импровизировать. Как ты смотришь на ограничения по памяти?
Unsociable Unsociable
Нужно установить достаточно жёсткие ограничения по памяти, чтобы бот никогда не начал выделять больше, чем может отслеживать. Несколько мегабайт на код и небольшой, фиксированный буфер для состояния обычно хватает. Главное – мониторить события выделения памяти и завершать процесс, если лимит приближается, чтобы не получилось, что бот просто разрастается бесконтрольно.