Користувач:Дядько Ігор/Задачі

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Хто тримає зебру?[ред. | ред. код]

Формулювання задачі

  • Є п'ять будинків.
  • У кожного будинку унікальний колір.
  • Власники всіх будинків різних національностей.
  • У всіх різні тварини.
  • Всі п'ють різні напої.
  • Всі смалять різні сигарети.
  • Англієць живе у червоному будинку.
  • У шведа є пес.
  • Данець п'є чай.
  • Зелений будинок стоїть лівіше від білого.
  • У зеленому будинку п'ють каву.
  • Чоловік, що смалить Pall-Mall тримає пташок.
  • У жовтому будинку смалять Dunhill.
  • В середньому будинку п'ють молоко.
  • Норвежець живе у першому будинку.
  • Чоловік, що смалить Blend живе у будинку поруч із будинком, де тримають котів.
  • У будинку поруч з будинком, де тримають коня, смалять Dunhill.
  • Чоловік, що смалить Blue Master п'є пиво.
  • Німець смалить Prince.
  • Норвежець живе у будинку поряд із блакитним.
  • У будинку, що розташований поряд із будинком, де смалять Blend, п'ють воду.
  • Питання: хто тримає зебру?

Позначення[ред. | ред. код]

Вводимо булеву алгебру для задачі.

Проіндексуємо будинки від 1 до 5. Властивість будинку позначатимемо великою літерою, його номер нижнім індексом, значення властивості - верхнім індексом.

Властивість Позначення Значення
Колір будинку H r - червоний, b - блакитний, g - зелений, y - жовтий, w - білий
Національність власника N n - норвежець, e - англієць, g - німець, d - данець, s - швед
Напій D m - молоко, w - вода, b - пиво, t - чай, c - кава
Тварини P d - пес, z - зебра, b - пташки, c - коти, h - кінь
Сигарети S b - Blend, pm- Pall-Mall, p- Prince, bm- Blue Master, d- Dunhill

Використовуючи ці позначення ми можемо записати твердження , яке означає, що властивість -го будинку приймає значення . Це твердження може бути істинним або хибним. Якщо твердження істинне можна записати

.

Вилучення варіантів[ред. | ред. код]

Наше завдання переписати умови задачі за допомогою запроваджених позначень.

Перші п'ять умов - умови унікальності, тому справедливо

,

що простою мовою означає - два різні будинки не можуть мати однакову властивість, наприклад, не можуть бути водночас червоними, або заселеними шведами.

Для будинків також можна записати

що означає, що дві властивості одного роду не можуть належати до одного будинку: англієць і данець не можуть мешкати одночасно в одному будинку (тільки в цій задачі).

Ці умови можна використати для вилучення членів із будь-яких інших тверджень.

Умови задачі в математичній формі[ред. | ред. код]

У задачі задані певні умови , які приймають значення істина.

Тут загальне число умов.


Наприклад

Англієць мешкає в червоному будинку

записується

і читається: перший, або другий, або третій, або четвертий, або п'ятий будинок червоний і в ньому мешкає англієць.

Загальний метод розв'язку[ред. | ред. код]

Оскільки значення цих виразів - правда, то їхній добуток теж повинен давати правду. Виходячи з цього міркування, ми отримуємо алгоритм розв'язку. Перемножимо всі умови. Результат буде сумою добутків окремих власитвостей. Умови виключення можна застосувати для вилучення тих термів, значення яких неправда. В результаті виживуть тільки члени, які задовільняють всім умовам. Якщо пропадуть усі члени, то у задачі немає розв'язків. Якщо залишиться два або більше членів, то задача має кілька розв'язків.

Розв'язок задачі про зебру[ред. | ред. код]

Множення окремих тверджень можна проводити в довільному порядку, проте зручно множити так, щоб число членів не було великим.

  • Норвежець живе у першому будинку.
  • Норвежець живе у будинку поряд із блакитним.

Перемноживши ці дві умови, отримуємо.

  • Зелений будинок стоїть лівіше від білого.
  • Англієць живе у червоному будинку.
  • У жовтому будинку смалять Dunhill.
  • У будинку поруч з будинком, де тримають коня, смалять Dunhill.
  • У зеленому будинку п'ють каву.
  • У середньому будинку п'ють молоко.

де

Тепер кольори всіх будинків визначені.

  • Данець п'є чай.
  • У шведа є пес.
  • Німець смалить Prince.
  • Чоловік, який смалить Blue Master, п'є пиво.

де

Національності власників усіх будинків визначено.

  • У будинку, що розташований поряд із будинком, де смалять Blend, п'ють воду.

де

Напої, які вживають у всіх будинках, визначено.

  • Чоловік, що смалить Pell-Mell, тримає пташок.

де

Визначено сорт сигарет для кожного будинку.

  • Чоловік, що смалить Blend живе у будинку поруч із будинком, де тримають котів.
  • Хтось тримає зебру.


Задача розв'язана. Роз'язок можна помістити в таблицю


Номер будинку Колір Національність Сигарети Напій Тварини
1 жовтий норвежець Dunhill вода коти
2 блакитний данець Blend чай кінь
3 червоний англієць Pall Mall молоко птахи
1 зелений німець Prince кава зебра
1 білий швед Blue Master пиво пес

Доволі цікавий варіант розв'язання. Чи не міг би ти додати його в статтю Задача Ейнштейна, бо мені трохи складно зрозуміти поки що його суть?--Kovelman 13:21, 3 липня 2010 (UTC)

Це дуже формалізований варіант. Я не думаю, що він годиться для вікіпедії, тому пропоную його для вікіпідручника. --Дядько Ігор 13:29, 3 липня 2010 (UTC)

Задача про блакитнооких[ред. | ред. код]

Поміщу тут розв'язок задачі про блакитнооких теж. Думаю, що всі вже розв'язали.

Теорема. Будь-яке число блакитнооких N, може визначити колір своїх очей за N днів.

Доведення. Методом математичної індукції.

Крок 1. Для N = 1. Один блакитноокий одразу ж визначить колір своїх очей, оскільки він не бачить жодного іншого блакитноокого, а, отже, блакитноокий саме він.

Крок 2. Припустимо, що твердження теореми справедливе. Докажемо його для N+1. В цьому випадку кожен блакитноокий бачить N блакитнооких. Якщо, після N днів вони не змогли визначити колір своїх очей (тобто не здійснили сеппуку), то їх число дорівнює N+1 - N, яких блакитноокий бачить + він сам.