Почему Игра Conway Жизни может быть классифицирована как универсальная машина?

Предупреждение: невозможно изменить информацию заголовка - уже отправленные заголовки

Случается, когда ваш скрипт пытается отправить HTTP-клиенту клиенту, но он уже был выведен ранее, что привело к тому, что заголовки уже отправлены на клиент.

Это E_WARNING , и он не остановит сценарий.

Типичным примером может быть файл шаблона, подобный этому:


    
    My Page

...

Функция session_start() попытается отправить клиенту файлы cookie сеанса. Но PHP уже отправил заголовки, когда он написал элемент в выходной поток. Вам нужно будет переместить session_start() в верхнюю часть.

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

Часто пропускаемый вывод - это новые строки после закрытия PHP ?>. Считается стандартной практикой опускать ?>, когда это последняя вещь в файле. Аналогичным образом, еще одной распространенной причиной этого предупреждения является то, что перед открытием перед ним появляется пустое пространство, строка или невидимый символ, в результате чего веб-сервер отправляет заголовки и пробел / новую строку, таким образом, когда PHP начинает синтаксический анализ, он не сможет для отправки любого заголовка.

Если в вашем файле содержится более одного кодового блока , у вас не должно быть пробелов между ними. (Примечание: у вас может быть несколько блоков, если у вас есть код, который был автоматически сконструирован)

Также убедитесь, что в вашем коде не указаны знаки байтового заказа, например, когда кодировка скрипта является UTF -8 с BOM.

Вопросы, относящиеся

53
задан Jørn Schou-Rode 11 February 2010 в 04:36
поделиться

4 ответа

Вы можете создавать Машину Тьюринга из жизни Conway - хотя это было бы довольно ужасающим.

ключ находится в планеры (и связанные шаблоны) - они (медленно) перемещаются вдоль игровой площадки, так может представить потоки битов (присутствие планера для 1 и отсутствия для 0). Другие шаблоны могут быть созданы, чтобы взять в двух потоках планеров (под прямым углом) и испустить другой поток битов, соответствующих AND/OR/etc исходных двух потоков.

РЕДАКТИРОВАНИЕ: существует больше на этом на веб-сайт LogiCell .

36
ответ дан Jon Skeet 7 November 2019 в 08:40
поделиться

Paul Rendell реализовал Машина Тьюринга в Жизни . Планеры представляют сигналы, и взаимодействия между ними являются логическими элементами и логикой, которая вместе может создать большие компоненты, которые реализуют Машину Тьюринга.

В основном, любое автоматическое оборудование, которое может реализовать И, ИЛИ, и НЕ может быть объединено вместе достаточно сложными способами быть полным по Тьюрингу. Это не полезный способ вычислить, но это соответствует критериям.

45
ответ дан Ned Batchelder 7 November 2019 в 08:40
поделиться

Я настоятельно рекомендую книге Рекурсивную Вселенную Poundstone. Распроданный, но можно, вероятно, найти копию, возможно, в хорошей библиотеке. Это - почти все о питании Жизни Conway и вещи, которые могут существовать во вселенной с тем набором естественного права, включая самовоспроизводящиеся объекты и IIRC, дарвинистскую эволюцию.

4
ответ дан Die in Sente 7 November 2019 в 08:40
поделиться

А Пол Чепмен действительно построил универсальную машину Тьюринга с помощью игры "Жизнь": http://www.igblan.free-online.co.uk/igblan/ca/, построив "Универсальную Регистровую Машину Минского".

Шаблон построен на решетке из квадратов 30x30. Легкие Космические корабли (LWSSs) используются для коммуникации между компонентами, которые имеют логику P60 (за исключением регистров - см. см. ниже). LWSS требуется 60 поколений, чтобы пересечь квадрат решетки. Таким образом, каждые 60 поколений любой межкомпонентный LWSS (импульс) находится в том же положении относительно квадрата в котором он находится, что позволяет осуществлять вращение

.

3
ответ дан 7 November 2019 в 08:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: