Дарвин (игра по программированию) - Darwin (programming game)
Дарвин был игра по программированию изобретен в августе 1961 г. Виктор Александрович Высоцкий, Роберт Моррис-старший, и М. Дуглас Макилрой. (Деннис Ричи иногда неправильно цитируется как соавтор, но не участвовал.) Игра была разработана в Bell Labs, и играл на IBM 7090 мейнфрейм есть. В игру играли всего несколько недель, прежде чем Моррис разработал «окончательную» программу, которая в конечном итоге завершила игру, так как никому не удалось создать ничего, что могло бы победить его.
Описание
Игра состояла из программы под названием судья и специальный раздел памяти компьютера, известный как арена, в который были загружены две или несколько небольших программ, написанных игроками. Программы написаны в 7090 г. Машинный код, и могли вызывать ряд функций, предоставляемых судьей, чтобы исследовать другие места на арене, уничтожать противоборствующие программы и требовать свободную память для своих копий.
Игра завершалась через установленное время или когда оставались живыми копии только одной программы. Игрок, который написал последнюю оставшуюся программу, был объявлен победителем.
До 20 ячеек памяти в каждой программе (меньше в более поздних версиях игры) могут быть обозначены как защищенный. Если одно из этих защищенных мест было проверено другой программой, судья немедленно передал бы управление проверенной программе. Затем эта программа будет продолжать выполняться, пока она, в свою очередь, не исследует защищенное место какой-либо другой программы и так далее.
Пока программы отвечали за копирование и переезд самим им было запрещено изменять места в памяти вне себя без разрешения судьи. Поскольку программы выполнялись непосредственно на компьютере, не существовало физического механизма предотвращения мошенничества. Вместо этого исходный код поскольку программы были доступны для изучения после каждой игры, позволяя игрокам учиться друг у друга и проверять, не обманывали ли их противники.
Самая маленькая программа, которая могла воспроизводить, определять местонахождение врагов и убивать их, состояла примерно из 30 инструкций. Макилрой разработал программу из 15 инструкций, которая могла обнаруживать и убивать врагов, но не воспроизводить; хотя и не очень смертоносный, его нельзя было убить, поскольку он был короче 20 защищенных инструкций. В более поздних играх из-за этого был снижен лимит защищенных инструкций.
«В конечном итоге смертельная» программа, разработанная Моррисом, содержала 44 инструкции и использовала адаптивную стратегию. Как только он успешно обнаружит начало вражеской программы, он будет исследовать небольшое расстояние перед этим местом. Если ему удастся убить врага, он запомнит расстояние и будет использовать его в последующих столкновениях. Если вместо этого он попал в защищенное место, то в следующий раз, когда он получил контроль, он выбрал другое расстояние. Все новые копии были инициализированы с успешным значением. Таким образом, программа Морриса превратилась в несколько подвидов, каждый из которых специально адаптирован для убийства определенного врага.
Смотрите также
- Трон, фильм 1982 года, основанный на аналогичной концепции
- Основная война, более современная игра с той же концепцией
Рекомендации
- Алеф Нулевой. «Компьютерные развлечения: Дарвин», Программное обеспечение: практика и опыт, Vol. 2, выпуск 1, стр. 93–96 (январь / март 1972 г.). В архиве 16 июля 2011 г. Wayback Machine
- Макилрой, М.Д., Моррис, Р., Высоцкий, В.А. (1971). «Дарвин, игра на выживание сильнейшего среди программ» (HTML версия )
- Меткалф, Джон. «Дарвин: выживание наиболее приспособленных среди программ»