Автокликер Clickermann :: Форум

Основной раздел => Прочее => Topic started by: Vint on October 02, 2015, 12:22:44 PM

Title: О логике
Post by: Vint on October 02, 2015, 12:22:44 PM
Парадокс парикмахера.
Предположим, что существует город с одним мужским парикмахером, и что каждый мужчина в городе бреется налысо: некоторые самостоятельно, некоторые с помощью парикмахера. Кажется разумным предположить, что процесс подчиняется следующему правилу: парикмахер бреет всех мужчин и только тех, кто не бреется сам.
Согласно этому сценарию, мы можем задать следующий вопрос: парикмахер бреет себя сам? Однако, спрашивая это, мы понимаем, что ответить на него правильно невозможно:
— если парикмахер не бреется сам, он должен соблюдать правила и брить себя сам;
— если он бреет себя сам, то по тем же правилам он не должен брить себя сам.
Title: Re: О логике
Post by: Vint on October 02, 2015, 02:23:48 PM
Я не о том. Составляя алгоритм мы обычно рассматриваем условие, это первая часть.
Вывели для себя правила... ну или свойства объекта. Соответственно обрабатываем его основываясь на нашем правиле о его свойствах.

А вторая часть это вылезший баг. Когда в каком-то месте к нам в обработку попало то что обычно не попадает. Вроде бы и всё правильно и это "то" там имеет право быть, но алгоритм его правильно не обработает.
Title: Re: О логике
Post by: Johnny on October 02, 2015, 08:37:44 PM
В вашем случае парикмахер скорее всего зарастет как бирюк, потому что в цикле бритья не пройдет ни по одному из условий.
Title: Re: О логике
Post by: Vint on October 03, 2015, 05:03:25 PM
Так а я о чём.
Title: Re: О логике
Post by: Vint on October 06, 2015, 05:40:29 PM
... этот код базируется на алгоритме маляра Шлемиэля. Кто такой Шлемиэль? Это персонаж из старого анекдота:

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

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