- PVSM.RU - https://www.pvsm.ru -

Хороший пример «пасхалки» для программистов в фильме Ex Machina

image
Кадр из фильма Ex Machina

В британском фантастическом фильме 2015 года Ex Machina (в русской локализации "Из машины [1]") главная героиня — это человекоподобный робот с явными женскими половыми признаками по имени Ава. Её создатель — эксцентричный миллиардер-программист, которого зовут Натан, организовал всё так, что в его отдалённую от людских глаз лабораторию прилетает Калеб, молодой разработчик из компании Натана. В ходе разговора между людьми выясняется, что Калеб должен провести с Авой тест Тьюринга — другими словами, выяснить обладает ли она интеллектом.

Как это бывает во многих фильмах, герои которых каким-то образом связаны с программированием (обычно это некие хакеры), на экране компьютера режиссёр часто демонстрирует строки программного кода, создавая своеобразную атмосферу загадочности и невероятной сложности. Тоже самое произошло и в фильме Ex Machina: в одном из эпизодов на компьютере Натана можно заметить какую-то программу, выведенную в консоли:

image
Скриншот фильма Ex Machina

Выяснить, что за программа на переднем плане (на фоне какой-то С-код), не поленился пользователь reddit с ником Infintie_3ntropy [2]. При ближайшем рассмотрении стало очевидно, что это программа на языке Python, которая печатает некую последовательность символов:

#BlueBook code decryption
import sys
def sieve(n):
    x = [1] * n
    x[1] = 0
    for i in range(2,n/2):
            j = 2 * i
            while j < n:
                    x[j]=0
                    j = j+i
    return x

def prime(n,x):
    i = 1
    j = 1
    while j <= n:
            if x[i] == 1:
                    j = j + 1
            i = i + 1
    return i - 1
x=sieve(10000)
code = [1206,301,384,5]
key =[1,1,2,2,]

sys.stdout.write("".join(chr(i) for i in [73,83,66,78,32,61,32]))
for i in range (0,4):
    sys.stdout.write(str(prime(code[i],x)-key[i]))

print 

Выполнив приведённый код в Python 2.7, в консоли мы получим следующую строку:

ISBN = 9780199226559

Если предположить, что ISBN это уникальный номер книжного издания (International Standard Book Number) и поискать по этому номеру книгу, то можно обнаружить, что её тематика искусственного интеллекта как нельзя лучше соответствует теме фильма: " Embodiment and the inner life: Cognition and Consciousness in the Space of Possible Minds [3]".

Так что Ex Machina один из немногих фильмов, компьютерный антураж которых оказался наполнен смыслом. Познакомиться с тем, как топорно относится подавляющее большинство голливудских режиссёров к демонстрации программного кода в своих блокбастерах можно здесь [4].

Автор: jeston

Источник [5]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/90805

Ссылки в тексте:

[1] Из машины: http://www.kinopoisk.ru/film/197532/

[2] Infintie_3ntropy: https://www.reddit.com/r/movies/comments/365f9b/secret_code_in_ex_machina/

[3] Embodiment and the inner life: Cognition and Consciousness in the Space of Possible Minds: http://www.amazon.com/Embodiment-inner-life-Cognition-Consciousness/dp/0199226555

[4] здесь: http://habrahabr.ru/company/mailru/blog/199078/

[5] Источник: http://geektimes.ru/post/250790/