Pull to refresh

Глубина ПО как способность решать незапланированные разработчиком задачи

Reading time4 min
Views511
Известный факт: если изделие можно использовать не по прямому назначению, то это говорит о внутренней гармоничности, глубине и качестве такого изделия. С этой точки зрения топор гармоничнее молотка, потому что топором можно прекрасно забивать гвозди и даже небольшие сваи, а вот молотком можно действовать только строго по инструкции завода-изготовителя.

Недавно обнаружил захватывающие глубины и высочайший полет гуманитарной мысли в простейшей программке на своём Маке – Systran. Это даже не программа, это виджет, в котором два окошка для ввода текста и одна магическая кнопка. Завод-изготовитель рекомендует такой порядок работы с программой: в верхнее окошко напечатать текст (например, на английском), тогда через пару секунд в нижнем окошке появится перевод (например, на русский язык).

Как всякий образованный человек я игнорировал электронный переводчик, но однажды в минуты безделья пришло мне в голову напечатать в верхнем окошке:

to be or not to be

Натурально, в нижнем окне загорелось:

быть или не быть

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

it was or did not be

Теперь не бросайте читать, я не лох, который смеется над неточностями обратного перевода. Продолжаем нажимать кнопку и переводим по очереди на русский – английский вечную фразу из Шекспира:

оно было или не было
it was or did not be
оно было или не было


Ага! Зациклилось! Программа-переводчик привела поэтический текст к корявому, но стабильному представлению, понятному на обоих языках и симметрично переводимому туда-сюда.

Интересный эффект. Попробуем еще цитатку:

Alas, poor Yorick
Увы, плохое Yorick
Alas, bad Yorick
Увы, плохое Yorick
Alas, bad Yorick
Увы, плохое Yorick


Все, видим, что зациклилось буквально на третьем шаге. Значит, программы переводчики всегда зацикливают тексты таким образом? Попробуем строчку из Пинка нашего Флойда:

mother do you think they like the sun
мать вы думаете они любите солнце
mother you dumayete they you love the sun
будьте матерью вас dumayete они вы влюбленность солнце
bud'te by mother you dumayete they you love the sun
bud'te матью вы dumayete они вы любят солнце
bud'te by mat'yu you dumayete they you lyubyat the sun
bud'te mat'yu вы dumayete они вы lyubyat солнце


Что такое? Процесс не сходится, на каждой итерации производя все более убогую хаотичную последовательность. Если бы речь шла об эволюции живого организма, мы бы видели мерзость вырождения и превращения божьего творения в химеру. Вот мысль! Может быть, исходная строчка – никакое не божественное творение, никакая не поэзия, а дефектное витийство? И программа-переводчик позволяет выявить этот внутренний дефект, скрытый от фанатов? Срочно проверяем эту гипотезу – Пушкина сюда!

мой дядя самых честных правил
my uncle of the most honest rules
мой дядюшка самых честных правил
my uncle of the most honest rules
мой дядюшка самых честных правил
my uncle of the most honest rules


Ну кто бы сомневался. Великая поэзия тем и отличается от графоманства, что зацикливается в электронном переводчике на 3-4 шаге. Проверяем гипотезу – прости, Кутиков:

вот новый поворот
here is the new turning
здесь новый поворачивать
here new turned
здесь повернутая новая
the here turned new
здесь повернутое новым
here turned by the new


И так далее, и до бесконечности, хаос и мерзость, процесс не сходится. Критерий однако! Попробуем на более сложном тексте. В гугле находим цитатничек Шекспира и вводим безмерную фразу:

If music be the food of love, play on
Если нот была еда влюбленности, то сыграйте дальше
If notes was the food of love, then play further
Если примечаниями была еда влюбленности, то сыграйте более далее
If by notes was the food of love, then play more further
Если примечаниями была еда влюбленности, тогда играет дальнейшее
If by notes was the food of love, then plays the future
Если примечаниями была еда влюбленности, после этого играет будущее
If by notes was the food of love, the future plays after this
Если примечаниями была еда влюбленности, будущее играет после этого
If by the notes of byla the food of love, future play after this
Если примечаниями byla еда влюбленности, будущей игры после этого
If by notes byla the food of love, future game after this
Если byla примечаний еда влюбленности, будущей игры после этого
If byla notes the food of love, future game after this
Если byla замечает еду влюбленности, то будущее оно сыграло после этого
If byla notes the food of love, then future it played after this
Если byla замечает еду влюбленности, то будущее оно сыграло после этого
If byla notes the food of love, then future it played after this


Потребовалось 15 циклов, прежде чем программа вышла на стабильный вариант, но тем не менее Шекспир не подвел. Правда, подвела программа: не знать слова «была» — позор для переводчика.

Наконец, протестируем на гигантской строке, точнее уже строфе из Пушкина:
под голубыми небесами великолепными коврами блестя на солнце снег лежит
by splendid carpets shining on the sun the snow lies under the blue skies
великолепными коврами светя на солнце снежок лежит под голубыми небесами
splendid carpets illuminating on the sun snow it lies under the blue skies
великолепные ковры загораясь на снежке солнца оно лежит под голубыми небесами
splendid carpets lighting up on the snow of the sun it it lies under the blue skies
великолепные ковры освещая вверх на снежке солнца оно оно лежит под голубыми небесами
splendid carpets illuminating upward on the snow of the sun it it it lies under the blue skies
великолепные ковры загораясь вверх на снежке солнца оно оно оно лежит под голубыми небесами
splendid carpets lighting up upward on the snow of the sun it it it it lies under the blue skies
великолепные ковры освещая вверх вверх на снежке солнца оно оно оно оно лежит под голубыми небесами
splendid carpets illuminating upward upward on the snow of the sun it it it it it lies under the blue skies
великолепные ковры загораясь вверх вверх на снежке солнца оно оно оно оно оно лежит под голубыми небесами


Считаю, что теорема доказана: электронный переводчик вышел на стабильный вариант (размножение местоимений не в счет, это явный дефект в программе). Значит, доказан критерий истинности настоящей поэзии: зацикливание при машинном переводе. Заодно доказали критерий качества компьютерных программ: настоящие программы всегда живут своею жизнью независимо от задумок их авторов. Примитивный интерфейс к веб-переводчику позволил заметить глубинную закономерность и решить важную филологическую проблему.
Tags:
Hubs:
Total votes 24: ↑9 and ↓15-6
Comments8

Articles