кто же разводит рыбок?
Jul. 3rd, 2002 10:21 pmУвидел в очередной раз так называемую "загадку Эйнштейна" в записи
quantum_angel и решил на этот раз её решить. Долго думал, но никак не получалось увидеть форсированный путь к решению. Удивился. Написал программку, чтобы умно перебрала и нашла все решения, и что же оказалось? Что есть четыре разных решения, в трёх из которых рыбок разводит англичанин, а в одной - датчанин. Вот они:
1.
В первом, зелёном, доме живёт норвежец, пьёт кофе, курит Pall Mall, разводит птиц.
Во втором, жёлтом, доме живёт датчанин, пьёт чай, курит Dunhill, разводит кошек.
В третьем, красном, доме живёт англичанин, пьёт молоко, курит Rothmans, разводит рыбок.
В четвёртом, синем, доме живёт немец, пьёт воду, курит Marlboro, разводит лошадей.
В пятом, белом, доме живёт швед, пьёт пиво, курит Phillip Morris, разводит собак.
2.
В первом, синем, доме живёт норвежец, пьёт пиво, курит Phillip Morris, разводит лошадей.
Во втором, жёлтом, доме живёт датчанин, пьёт чай, курит Dunhill, разводит рыбок.
В третьем, красном, доме живёт англичанин, пьёт молоко, курит Pall Mall, разводит птиц.
В четвёртом, зелёном, доме живёт швед, пьёт кофе, курит Rothmans, разводит собак.
В пятом, белом, доме живёт немец, пьёт воду, курит Marlboro, разводит кошек.
3.
В первом, синем, доме живёт норвежец, пьёт пиво, курит Phillip Morris, разводит лошадей.
Во втором, жёлтом, доме живёт швед, пьёт воду, курит Dunhill, разводит собак.
В третьем, красном, доме живёт англичанин, пьёт молоко, курит Rothmans, разводит рыбок.
В четвёртом, зелёном, доме живёт немец, пьёт кофе, курит Marlboro, разводит кошек.
В пятом, белом, доме живёт датчанин, пьёт чай, курит Pall Mall, разводит птиц.
4.
В первом, зелёном, доме живёт норвежец, пьёт кофе, курит Pall Mall, разводит птиц.
Во втором, жёлтом, доме живёт датчанин, пьёт чай, курит Dunhill, разводит кошек.
В третьем, белом, доме живёт швед, пьёт молоко, курит Rothmans, разводит собак.
В четвёртом, синем, доме живёт немец, пьёт воду, курит Marlboro, разводит лошадей.
В пятом, красном, доме живёт англичанин, пьёт пиво, курит Phillip Morris, разводит рыбок.
По-видимому, условие было несколько искажено в переводе/передаче из рук в руки, из книг в книги, из веб-страницы на веб-страницу и т.п.
Ну хорошо. Решил взять какое-нибудь условие по-английски и посмотреть, что будет там. Взял условие с этой страницы. Правила номер 12 и 13 там другие, а остальные идентичные (кроме названий двух марок сигарет, что ничего не меняет в данном случае). Запустил. Получилось уже семь решений, рыбок в которых попеременно разводят датчанин, норвежец и немец. На той странице ответ только один - немец, но он является только одним из семи возможных.
Наконец, нашёл ещё одну страницу с подробным объяснением решения. Условие (по-английски) на ней такое же, как на предыдущей, только опять изменены немного марки сигарет (какая-то странная обсессия на марках сигарет, ей-богу). Но чтение решения наконец всё прояснило: в условии номер 3 (в русской нумерации как у
quantum_angel; на английской странице это условие номер 4) имеется в виду, что зелёный дом стоит слева от белого дома, рядом с ним; я же понял русское условие "Зеленый дом находится левее белого" как то, что он находится по левую руку, но необязательно рядом. Если бы я сразу читал английский вариант с его "on the left", то понял бы правильно. Опять проблема перевода!
Запустив заново программу с правильным условием, я действительно получил единственный ответ. Но русский набор правил, как у
quantum_angel, не даёт единственного ответа даже если исправить условие номер 3: всё равно выходят два решения с англичанином и датчанином. Необходимо исправить условия 12 и 13 по образцу соответствующих английских, и тогда всё становится на свои места. Вот исправленное условие по-русски, и единственное подходящее к нему решение:
1. Норвежец живет в первом доме.
2. Англичанин живет в красном доме.
3. Зеленый дом находится по левую руку от белого, рядом с ним.
4. Датчанин пьёт чай.
5. Тот, кто курит Rothmans, живет рядом с тем, кто выращивает кошек.
6. Тот, кто живет в желтом доме, курит Dunhill.
7. Немец курит Marlboro.
8. Тот кто живет в центре, пьёт молоко.
9. Сосед того, кто курит Rothmans, пьёт воду.
10. Тот, кто курит Pall Mall, выращивает птиц.
11. Швед выращивает собак.
12. Норвежец живет рядом с синим домом.
13. Тот, кто выращивает лошадей, живет рядом с тем, кто курит Dunhill.
14. Тот, кто курит Philip Morris, пьёт пиво.
15. В зеленом доме пьют кофе.
Решение:
В первом, жёлтом, доме живёт норвежец, пьёт воду, курит Dunhill, разводит кошек.
Во втором, синем, доме живёт датчанин, пьёт чай, курит Rothmans, разводит лошадей.
В третьем, красном, доме живёт англичанин, пьёт молоко, курит Pall Mall, разводит птиц.
В четвёртом, зелёном, доме живёт немец, пьёт кофе, курит Marlboro, разводит рыбок.
В пятом, белом, доме живёт швед, пьёт пиво, курит Phillip Morris, разводит собак.
Откуда взялась неправильная русская версия? Не знаю. Сетевым поиском находятся две страницы (1, 2) с неправильным текстом и несколько с правильным, например здесь, где также обсуждают вопрос о двусмысленности условия.
По сути дела эта задачка является одной из таких задач, которые забавно прочесть, но редко кто собственно решает. Поэтому искажённое условие в принципе может путешествовать по сети, переходить из языка в язык и т.п. - то, что оно неверное, оказывается не таким уж важным фактом. Забавно.
1.
В первом, зелёном, доме живёт норвежец, пьёт кофе, курит Pall Mall, разводит птиц.
Во втором, жёлтом, доме живёт датчанин, пьёт чай, курит Dunhill, разводит кошек.
В третьем, красном, доме живёт англичанин, пьёт молоко, курит Rothmans, разводит рыбок.
В четвёртом, синем, доме живёт немец, пьёт воду, курит Marlboro, разводит лошадей.
В пятом, белом, доме живёт швед, пьёт пиво, курит Phillip Morris, разводит собак.
2.
В первом, синем, доме живёт норвежец, пьёт пиво, курит Phillip Morris, разводит лошадей.
Во втором, жёлтом, доме живёт датчанин, пьёт чай, курит Dunhill, разводит рыбок.
В третьем, красном, доме живёт англичанин, пьёт молоко, курит Pall Mall, разводит птиц.
В четвёртом, зелёном, доме живёт швед, пьёт кофе, курит Rothmans, разводит собак.
В пятом, белом, доме живёт немец, пьёт воду, курит Marlboro, разводит кошек.
3.
В первом, синем, доме живёт норвежец, пьёт пиво, курит Phillip Morris, разводит лошадей.
Во втором, жёлтом, доме живёт швед, пьёт воду, курит Dunhill, разводит собак.
В третьем, красном, доме живёт англичанин, пьёт молоко, курит Rothmans, разводит рыбок.
В четвёртом, зелёном, доме живёт немец, пьёт кофе, курит Marlboro, разводит кошек.
В пятом, белом, доме живёт датчанин, пьёт чай, курит Pall Mall, разводит птиц.
4.
В первом, зелёном, доме живёт норвежец, пьёт кофе, курит Pall Mall, разводит птиц.
Во втором, жёлтом, доме живёт датчанин, пьёт чай, курит Dunhill, разводит кошек.
В третьем, белом, доме живёт швед, пьёт молоко, курит Rothmans, разводит собак.
В четвёртом, синем, доме живёт немец, пьёт воду, курит Marlboro, разводит лошадей.
В пятом, красном, доме живёт англичанин, пьёт пиво, курит Phillip Morris, разводит рыбок.
По-видимому, условие было несколько искажено в переводе/передаче из рук в руки, из книг в книги, из веб-страницы на веб-страницу и т.п.
Ну хорошо. Решил взять какое-нибудь условие по-английски и посмотреть, что будет там. Взял условие с этой страницы. Правила номер 12 и 13 там другие, а остальные идентичные (кроме названий двух марок сигарет, что ничего не меняет в данном случае). Запустил. Получилось уже семь решений, рыбок в которых попеременно разводят датчанин, норвежец и немец. На той странице ответ только один - немец, но он является только одним из семи возможных.
Наконец, нашёл ещё одну страницу с подробным объяснением решения. Условие (по-английски) на ней такое же, как на предыдущей, только опять изменены немного марки сигарет (какая-то странная обсессия на марках сигарет, ей-богу). Но чтение решения наконец всё прояснило: в условии номер 3 (в русской нумерации как у
Запустив заново программу с правильным условием, я действительно получил единственный ответ. Но русский набор правил, как у
1. Норвежец живет в первом доме.
2. Англичанин живет в красном доме.
3. Зеленый дом находится по левую руку от белого, рядом с ним.
4. Датчанин пьёт чай.
5. Тот, кто курит Rothmans, живет рядом с тем, кто выращивает кошек.
6. Тот, кто живет в желтом доме, курит Dunhill.
7. Немец курит Marlboro.
8. Тот кто живет в центре, пьёт молоко.
9. Сосед того, кто курит Rothmans, пьёт воду.
10. Тот, кто курит Pall Mall, выращивает птиц.
11. Швед выращивает собак.
12. Норвежец живет рядом с синим домом.
13. Тот, кто выращивает лошадей, живет рядом с тем, кто курит Dunhill.
14. Тот, кто курит Philip Morris, пьёт пиво.
15. В зеленом доме пьют кофе.
Решение:
В первом, жёлтом, доме живёт норвежец, пьёт воду, курит Dunhill, разводит кошек.
Во втором, синем, доме живёт датчанин, пьёт чай, курит Rothmans, разводит лошадей.
В третьем, красном, доме живёт англичанин, пьёт молоко, курит Pall Mall, разводит птиц.
В четвёртом, зелёном, доме живёт немец, пьёт кофе, курит Marlboro, разводит рыбок.
В пятом, белом, доме живёт швед, пьёт пиво, курит Phillip Morris, разводит собак.
Откуда взялась неправильная русская версия? Не знаю. Сетевым поиском находятся две страницы (1, 2) с неправильным текстом и несколько с правильным, например здесь, где также обсуждают вопрос о двусмысленности условия.
По сути дела эта задачка является одной из таких задач, которые забавно прочесть, но редко кто собственно решает. Поэтому искажённое условие в принципе может путешествовать по сети, переходить из языка в язык и т.п. - то, что оно неверное, оказывается не таким уж важным фактом. Забавно.
no subject
Date: 2002-07-03 12:32 pm (UTC)