Author Topic: О логике  (Read 3585 times)

0 Members and 1 Guest are viewing this topic.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
О логике
« on: October 02, 2015, 12:22:44 PM »
Парадокс парикмахера.
Предположим, что существует город с одним мужским парикмахером, и что каждый мужчина в городе бреется налысо: некоторые самостоятельно, некоторые с помощью парикмахера. Кажется разумным предположить, что процесс подчиняется следующему правилу: парикмахер бреет всех мужчин и только тех, кто не бреется сам.
Согласно этому сценарию, мы можем задать следующий вопрос: парикмахер бреет себя сам? Однако, спрашивая это, мы понимаем, что ответить на него правильно невозможно:
— если парикмахер не бреется сам, он должен соблюдать правила и брить себя сам;
— если он бреет себя сам, то по тем же правилам он не должен брить себя сам.


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: О логике
« Reply #1 on: October 02, 2015, 02:23:48 PM »
Я не о том. Составляя алгоритм мы обычно рассматриваем условие, это первая часть.
Вывели для себя правила... ну или свойства объекта. Соответственно обрабатываем его основываясь на нашем правиле о его свойствах.

А вторая часть это вылезший баг. Когда в каком-то месте к нам в обработку попало то что обычно не попадает. Вроде бы и всё правильно и это "то" там имеет право быть, но алгоритм его правильно не обработает.
« Last Edit: October 02, 2015, 02:25:22 PM by Vint »


Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: О логике
« Reply #2 on: October 02, 2015, 08:37:44 PM »
В вашем случае парикмахер скорее всего зарастет как бирюк, потому что в цикле бритья не пройдет ни по одному из условий.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: О логике
« Reply #3 on: October 03, 2015, 05:03:25 PM »
Так а я о чём.


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: О логике
« Reply #4 on: October 06, 2015, 05:40:29 PM »
... этот код базируется на алгоритме маляра Шлемиэля. Кто такой Шлемиэль? Это персонаж из старого анекдота:

Quote
   Маляр Шлемиэль подрядился красить пунктирные осевые линии на дорогах. В первый день он получил банку краски, поставил её на дорогу, и к концу дня покрасил 300 метров осевой линии. "Отлично!" сказал прораб, "быстро работаешь!" -- и заплатил ему копейку.
    На следующий день Шлемиэль покрасил 150 метров. "Мда, это, конечно, не так здорово, как вчера, но приемлемо." -- сказал прораб и заплатил ему копейку.
    На следующий день Шлемиэль покрасил 30 метров. "Всего лишь 30!" заорал прораб. "Это никуда не годится! В первый день было в десять раз больше! В чём дело?"
    "Ничего не могу поделать," -- говорит Шлемиэль. "Каждый день я ухожу всё дальше и дальше от банки!"

http://russian.joelonsoftware.com/Articles/BacktoBasics.html