Anatoly Vorobey (avva) wrote,
Anatoly Vorobey
avva

Category:

мафия

Логическая задачка из блога Тани Ховановой.

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

Во время этой игры мирные жители и детектив всегда говорят правду, а мафия всегда лжет. Все эти сведения об игре (сколько есть кого, что они друг о друге знают, и кто говорит правду/лжет) известны всем игрокам. Игра начинаются, и игроки говорят следующие фразы по очереди:

А: Я знаю, кто Б.
Б: Я знаю, кто детектив.
В: Я знаю, кто Б.
Г: Я знаю, кто Д.

Кто из них кто?

(осторожно, в комментах будут спойлеры правильных решений)
Tags: задачка
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 125 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
"Во время этой игры мирные жители и детектив всегда говорят правду, а мафия всегда лжет"
Жаль, что это не выполняется строго во время настоящей игры "в мафию" :)
По условию "мирные жители ничего не знают", значит в условии один из мирных жителей нарушил условия и высказал чоткое мнение, а ето нарушение условия.
Ничего не знают о других игроках по состоянию на начало игры.

prol_prolych

2 years ago

mgar

2 years ago

prol_prolych

2 years ago

dmitrmax

2 years ago

once_for_all

2 years ago

a_konst

2 years ago

prol_prolych

2 years ago

Что-то хитрое...
Есть 5 человек.
Из них двое - мирные жители, которые говорят правду, но "ничего не знают" (кроме как о себе).
При этом А, В, Г говорят "я знаю, кто..." и ссылаются на другого человека. Поэтому они не могут быть мирными жителями.
Б говорит "я знаю, кто детектив". Поэтому и он не может быть мирным жителем.
То есть на мирных жителей не остаётся места.

Теперь буду ждать, пока мне объяснят, где я позорно "протупил".
Ничего не знаю по состоянию на начало игры.

prol_prolych

2 years ago

dmitrmax

2 years ago

avva

2 years ago

utnapishti

2 years ago

вот да

erendir

2 years ago

А: мафиози
Б: детектив
В: мафиози
Г & Д: юзеры
это была моя первая идея, но, ИМХО, раз "мирные жители ничего не знают о других игроках", Г не может знать о Д, а раз "мирные жители и детектив всегда говорят правду", Г не может утверждать "Г: Я знаю, кто Д."

sgaivan

2 years ago

elcour

2 years ago

irrelative

2 years ago

shadow_ru

2 years ago

eurer

2 years ago

shadow_ru

2 years ago

tandem_bike

2 years ago

Условия чуть-чуть сумбурно изложены.
Все игроки знают, что:
"из них двое - мафиози, двое - мирные жители и один - детектив. Каждый игрок знает, кто он сам, и вдобавок: мафиози знают друг друга, детектив знает, кто мафия, мирные жители ничего не знают"?
И что:
"Во время этой игры мирные жители и детектив всегда говорят правду, а мафия всегда лжет"?
Да, они все это знают.
Б - детектив, А и В - мафиози, Г - мирный житель

Deleted comment

elcour

2 years ago

enternet

2 years ago

А, естественно, не может быть мирным жителем. Предположим, что А - детектив. Но тогда Б говорит правду, если он мафия, и лжёт, если он мирный житель. Следовательно, А - мафия.
Из этого следует, что Б - не мафия, потому что А как мафия не может говорить правду. Эрго, Б - детектив, т.к. утверждает то, чего не может знать мирный житель.
В. пришёл к тому же выводу, что и я только что - т.е. В - мирный житель.
Г. знает, кто он сам, то есть теперь все знают всех, он говорит правду, и тоже является мирным жителем.
Эрго, Д - мафиозо.

Итог:
А - мафиозо
Б - детектив
В - мирный житель
Г - мирный житель
Д - мафиозо
> Но тогда Б говорит правду, если он мафия, и лжёт, если он мирный житель.

Если Б - мафия, то на данном этапе все, что ему известно - это личность другой мафии. Если А - детектив, это не значит, что Б это известно, а значит, он вполне себе врет, что знает, кто является детективом.

eril13

2 years ago

elcour

2 years ago

bash_i_buzuk

2 years ago

А-Д - Мафиа, Б - детектив
А и Г - мафиози. Б - детектив. В и Д - мирные жители.
в последней редакции условия:

А не может быть мирным жителем, т.к. никто ещё ничего не сказал, а мирные жители ничего не знают.

---
Альтернатива 1:
Пусть А детектив.

Б не может быть мирным жителем, т.к. из единственного высказывания А невозможно узнать кто детектив.
Т.о. Б мафиози (мафия не знает, кто детектив, так что он врёт согласно роли).

У В всё ещё слишком мало информации, чтобы делать выводы, так что он врёт.
Т.о. В мафиози.

Г сделал вышеуказанные выводы и знает кто он и т.о. знает, кто Д, т.е. говорит правду.
Т.о. Г и Д мирные жители.

---

Альтернатива 2:
Пусть А мафиози.

А соврал, что знает, кто Б, т.е. Б не мафиози. Б не может быть мирным жителем, т.к. из единственного высказывания А невозможно узнать кто детектив.
Т.о. Б детектив (и знает, кто он).

У В всё ещё слишком мало информации, чтобы делать выводы, так что он врёт.
Т.о. В мафиози.

Г сделал вышеуказанные выводы и знает кто он и т.о. знает, кто Д, т.е. говорит правду.
Т.о. Г и Д мирные жители.
imenno. ploxaya zadachka.

utnapishti

2 years ago

tandem_bike

2 years ago

utnapishti

2 years ago

tandem_bike

2 years ago

utnapishti

2 years ago

tandem_bike

2 years ago

tandem_bike

2 years ago

utnapishti

2 years ago

tandem_bike

2 years ago

utnapishti

2 years ago

tandem_bike

2 years ago

tandem_bike

2 years ago

utnapishti

2 years ago

tandem_bike

2 years ago

utnapishti

2 years ago

tandem_bike

2 years ago

erendir

2 years ago

irrelative

2 years ago

dimrub

October 8 2018, 14:29:21 UTC 2 years ago Edited:  October 8 2018, 14:30:32 UTC

По итогам первой фразы А не может быть мирным жителем (МЖ), поскольку они еще ничего ни о ком (кроме себя) не знают. Значит, А либо детектив, либо мафия.

Допустим, что А - детектив.

Б утверждает, что он знает, кто - детектив. Б может быть либо мирным человеком, либо мафией (поскольку мы предположили, что роль детектива уже занята).

Допустим, что Б - МЖ, тогда он врет, на данной стадии, он не может знать, является ли А, например, детективом, но МЖ не врут, следовательно Б не может быть МЖ. Значит, Б - мафия. Но тогда он врет: он не знает, кто детектив. Но поскольку А может быть либо детективом, либо мафией, а Б знает, кто в мафии, и это не А, то А остается быть только детективом. Следовательно, Б знает, что А - детектив, а значит, он сказал правду. Противоречие. Следовательно, наше исходное предположение неверно, и А - мафия.

Исходя из этого, посмотрим снова на второе утверждение. Б может быть либо детективом, либо мафией. В первом случае, его утверждение верно: он действительно знает, кто детектив - он и есть. Во втором случае утверждение ложно: детективом может быть любой из В, Г и Д. Единственное, кем не может быть Б - это МЖ, поскольку он бы тогда не мог знать, кто детектив, а значит, соврал.

Перейдем к третьему утверждению: итак, В известно, что А - мафия, а Б - либо мафия, либо детектив. Допустим, что Б - мафия. Тогда В остается быть либо детективом, либо МЖ. Второе невозможно, поскольку В не знает, мафия Б или нет, а значит, он соврал. Значит если Б - мафия, то В - детектив. Теперь допустим, что детектив это Б. В опять же не может быть МЖ, поскольку у него нет информации, чтобы определить, является ли Б мафией или детективом, и не может быть детективом, поскольку это место уже занято, значит, В - мафия, и он врет о том, что он знает, кто Б. Но В - мафия, и ему известно, что А - мафия, значит, он знает, что Б - детектив, а следовательно, он сказал правду, и мы снова приходим к противоречию.

Итак, А - мафия, Б - мафия, В - детектив, и на этой стадии Г действительно известно, кем является Д - мирным жителем, поскольку больше ему не кем быть.

eril13

October 8 2018, 14:43:52 UTC 2 years ago Edited:  October 8 2018, 14:45:34 UTC

А почему во втором утверждении Б не может быть МЖ? В том снысле почему изначально рассматривается Д и М? Ведь А мафия, значит он врет, значит он не знает кто Б, значит Б не может быть мафией

dimrub

2 years ago

dimrub

2 years ago

avva

2 years ago

dimrub

2 years ago

avva

2 years ago

Deleted comment

avva

2 years ago

tandem_bike

2 years ago

igor734

October 8 2018, 14:53:35 UTC 2 years ago Edited:  October 8 2018, 14:54:29 UTC

1. A врет, так как он идет первым и не может знать ничего о других игроках. Значит, А - мафия.


2. Б может врать, а может и нет. Если Б врет, то тогда он мафия,  но тогда и В врет, ибо по двум ответам нельзя определить, кто такой Б; но тогда получается три мафиози - перебор. Поэтому Б говорит правду, и он - сыщик.


3. Т.к. Б раскрылся, то все остальные игроки знают, кто он, поэтому В говорит правду, т.е. он "красный".


4. Т.к. первые три игрока определились, Г, зная кто он сам такой, реально может методом исключения определить, кто такой Д. Таким обоазом, он говорит правду, значит, Г - "красный", а Д - оставшийся мафиозо.

1. Неверно.

igor734

2 years ago

torquelimach

2 years ago

igor734

2 years ago

torquelimach

2 years ago

igor734

2 years ago

torquelimach

2 years ago

igor734

2 years ago

torquelimach

2 years ago

igor734

2 years ago

tandem_bike

2 years ago

igor734

2 years ago

torquelimach

2 years ago

igor734

2 years ago

А: Я знаю, кто Б.

- по условию "мирные жители ничего не знают о других игроках." и "мирные жители и детектив всегда говорят правду"
- следовательно, А - не мирный житель, потому что мирный житель ещё не знает ничего и не врёт.
- если А - мафиози, то он знает только второго мафиози, но соврал, то есть Б - не мафиози.
- если А - детектив, то он знает, кто мафия, и сказал правду, то есть Б - мафиози.

Б: Я знаю, кто детектив.

- Б уже знает, что А - не мирный житель, потому что мирный житель не может знать, кто Б.
- если Б - мирный житель, и думает, что А - детектив, а мирные жители всегда говорят правду, то из условия 1. следует, что Б - мафиоза.
следовательно Б - не мирный житель, а А - не детектив.
- если Б - мафиоза, то А - детектив, но так как мафиоза врёт, то А - не детектив.
- следовательно Б - детектив, то А - мафиоза.

В: Я знаю, кто Б.

- В - понял, что Б - детектив, А - мафиози.
- В не может быть мафиозой, потому что он уже знает, что Б - детектив, и не врёт.
- следовательно В - мирный житель.

Г: Я знаю, кто Д.

- Г уже понял, что А - мафиоза, Б - детектив, а В - мирный житель.
- если Г - мафиоза, то он знает, что Д - мирный житель, но должен соврать, что не знает.
- следовательно Г - мирный житель, то он говорит правду, и Д - мафиоза.

Таким образом:
А: мафиоза
Б: детектив
В: мирный житель
Г: мирный житель
Д: мафиоза

a problem:

Б - мирный житель, и думает, что А - детектив,

if so, Б cannot know who is the detective.

prol_prolych

2 years ago

back form lunch

tandem_bike

2 years ago

Не похоже на реальную игру "мафия".

1. Детектив брешет похлеще мафии. Ему надо мафию искать, но не палиться (в т.ч. перед "своими") до момента вскрытия.
2. Мафия часто говорит правду. Например, сказать про мирного, что "мирный" - why not? Ещё часто мафия своих же валит - "а я знаю что он мафиози".
По условию задачи он мафию уже нашёл, теперь осталось убедить мирных, что он настоящий комиссар и ему можно верить.
По условиям задачи первый говорящий не может быть мирным жителем.
Полагаю, ето неправильно. Надо условия причесать, чтобы первый мог быть мирным жителем.
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →