Реально ли выучить программированиеесли плохо знаешь математику
#62
Отправлено 09.02.2007, 00:21:42
то есть пишет (разрабатывает, придумывает, во сне видит и т.д.) эффективный алгоритм решения поставленной задачи.алгоморитмизирует
Вообще, чес говоря, никогда не понимала людей, которые говорят, что "хороший программист" должен знать пути решения всех этих "сложных теорий". Для этого и сущ-ют математики, а программист составляет алгоритм вычисления формул (формулы могут и математиками быть предоставлены). Ну, это ИМХО, конечно
По моему, если человек и сам сложные теории разбирает и еще, при этом, хорошие программы пишет - то он уже уникум. из таких, наверное, билыгейтсы и получаются.
#64
Отправлено 09.02.2007, 16:19:28
Вот пример для желающих проверить себя в этом отношении. Допустим, есть справедливое утверждение: "Если прошел дождь, то дорога мокрая". Это простая причинно-следственная связь типа A => B (читается так: "если A, то B"). На основании этого утверждения можно построить другое утверждение: "Если дождя не было, то дорога сухая"*. Иначе говоря, формула NOT A => NOT B тоже будет справедливой. Второе утверждение можно считать следствием первого.
Итак, по условию дано, что первая логическая формула (A => B) справедлива (никаких других посторонних воздействий нет). Вопрос: обязательно ли из справедливости первой формулы следует справедливость второй?
---
* Примечание: для упрощения не будем учитывать отвлекающие моменты вроде "не факт, если дождя не было, дорога все равно может быть мокрая - там могла проехать поливалка или прорвало водопровод"
#65
Отправлено 09.02.2007, 16:28:36
Неверно.http://www.bbсссячяяячhttp://www.bbНа основании этого утверждения можно построить другое утверждение
Правильно будет так:
A -> B => NOT B -> NOT A
Т.е. правильно будет "Если дорога не мокрая, значит дождя не было"
Это упрощение нельзя принимать в рассмотрение, именно оно существенно. Если конечно не ограничивать всю вселенную конкретной дорогой и конкретным дождём. Но в этом случае нужно специально это оговаривать.* Примечание: для упрощения не будем учитывать отвлекающие моменты вроде "не факт, если дождя не было, дорога все равно может быть мокрая - там могла проехать поливалка или прорвало водопровод"
Сообщение отредактировал v04bvs: 09.02.2007, 16:31:16
#66
Отправлено 09.02.2007, 16:56:18
А если это не упрощение решения, а часть условия? По условию есть только дорога и дождь, никаких других воздействий. Вопрос все тот же.Это упрощение нельзя принимать в рассмотрение, именно оно существенно. Если конечно не ограничивать всю вселенную конкретной дорогой и конкретным дождём. Но в этом случае нужно специально это оговаривать.
#67
Отправлено 10.02.2007, 01:05:41
Тогда я распишу всё подробнее, ибо это уже не совсем классическая логика получается.А если это не упрощение решения, а часть условия? По условию есть только дорога и дождь, никаких других воздействий. Вопрос все тот же.
Это упрощение нельзя принимать в рассмотрение, именно оно существенно. Если конечно не ограничивать всю вселенную конкретной дорогой и конкретным дождём. Но в этом случае нужно специально это оговаривать.
Итак:
есть дорога, и есть дождь.
Дорога - объект, обладающий свойством "сухость".
Дождь - объект, который может "проходить".
Они взаимодействуют следующим образом: после операции "пройти" дождя, свойство "сухость" дороги становится ложным.
Других объектов в рассматриваемой системе нет.
Вопрос: если дождь не "проходил", чему равно состояние "сухость" у дороги?
Ответ в данной трактовке очевиден - свойство "сухость" задаётся начальными условиями (которых не было): если изначально она сухая, она останется сухой, если изначально она мокрая - она останется мокрой.
Поэтому без дополнительных начальных условий утверждение "Если дождя не было, значит дорога сухая" опять же не следует из первоначального утверждения.
#68
Отправлено 10.02.2007, 22:30:04
Если прошел дождь, то дорога мокрая
Изначально, дорога предполагается сухой, т.к. метод "падать" объекта "Дождь" не был вызван, если же дорога мокрая, то соответственно метод "падать" объекта "Дождь" был вызван.Вопрос: если дождь не "проходил", чему равно состояние "сухость" у дороги?
Ответ в данной трактовке очевиден - свойство "сухость" задаётся начальными условиями (которых не было): если изначально она сухая, она останется сухой, если изначально она мокрая - она останется мокрой.
Поэтому без дополнительных начальных условий утверждение "Если дождя не было, значит дорога сухая" опять же не следует из первоначального утверждения.
Логический вывод таков, что дорога изначально - сухая, т.к. обратного нет в условие.
#69
Отправлено 10.02.2007, 22:52:25
Насчет второго утверждения, а если его проверять тогда, когда дождь только начал падать и при этом капли еще не соприкоснулись с дорогой?В общем, вроде бы все согласны, что не следует путать понятия "программист" и "математик". Конечно, если программист понятия не имеет, как находить корни квадратного уравнения, это его совсем не украшает. Но если програмист не в ладах с логикой и причинно-следственными связями...
Вот пример для желающих проверить себя в этом отношении. Допустим, есть справедливое утверждение: "Если прошел дождь, то дорога мокрая". Это простая причинно-следственная связь типа A => B (читается так: "если A, то B"). На основании этого утверждения можно построить другое утверждение: "Если дождя не было, то дорога сухая"*. Иначе говоря, формула NOT A => NOT B тоже будет справедливой. Второе утверждение можно считать следствием первого.
Итак, по условию дано, что первая логическая формула (A => B) справедлива (никаких других посторонних воздействий нет). Вопрос: обязательно ли из справедливости первой формулы следует справедливость второй?
Или же, если дождь пошел, то дорога, мгновенно, стала мокрой?
#70
Отправлено 10.02.2007, 23:09:34
Для частного случая ответ, конечно, правильный. Да это и нетрудно. А если случай общий? Если мы вообще ничего не знаем о том, какие конкретно эти явления А и В? Знаем только, что есть зависимость A => B. Если происходит A (А = true), то всегда будет B (В = true).
Вопрос: зная это условие, можно ли утверждать, что всегда будет выполняться NOT A => NOT B? Если нельзя, то почему? (Про дорогу и дождь теперь забудьте, как если бы такого примера и не было).
#71
Отправлено 10.02.2007, 23:58:08
Вместо ответа:Для v04bvs, T.Anre и всех интересующихся:
Для частного случая ответ, конечно, правильный. Да это и нетрудно. А если случай общий? Если мы вообще ничего не знаем о том, какие конкретно эти явления А и В? Знаем только, что есть зависимость A => B. Если происходит A (А = true), то всегда будет B (В = true).
Вопрос: зная это условие, можно ли утверждать, что всегда будет выполняться NOT A => NOT B? Если нельзя, то почему? (Про дорогу и дождь теперь забудьте, как если бы такого примера и не было).
Число делится без остатка на 10 => Число делится без остатка на 5
#75
Отправлено 11.02.2007, 18:10:07
Правильно, это по условию (если бы это была программа на С, то запись выглядела бы if (A == true) B = true;).исследую
1)A => B
if (A = true) B = true;
Лично я тоже думаю, что в общем случае это именно так, однако не вижу, почему это "очевидно". Как говорится, нет ничего более практичного, чем хорошая теория. Если теория хороша, она должна согласовываться с практическими примерами. Итак, проверяем:2)not A => not B
if (A = false) B = false;
очевидно что из первого не следует второе. т.к. в первом возможно
if (A= false) B = true;
Сначала практический пример, предложенный T.Anre:
Число делится без остатка на 10 => Число делится без остатка на 5, то есть if (A = true) B = true
Число НЕ делится без остатка на 10 => Все равно, оно может без остатка делиться на 5, то есть if (A= false) B = true;
Как видим, в случае примера T.Anre совпадение вашей теории с практикой полное.
Теперь попробуем вернуться к примеру с дорогой и дождем:
Если прошел дождь, то дорога мокрая, то есть if (A = true) B = true;
Если дождь не прошел, то дорога сухая, то есть Ваша теория ("возможно if (A= false) B = true;") неверна - невозможно, чтобы она стала мокрая, если по условию других посторонних воздействий нет.
Я вместе с вами и v04bvs по-прежнему придерживаюсь того же мнения (из условия, что всегда выполняется A => B не следует, что всегда будет справедливо NOT A => NOT B). Практические примеры своей неоднозначностью тоже говорят в пользу этого мнения. Но все же, как видите, доказательство этого в общем виде пока еще здесь никому не удалось (в других местах я его тоже не нашел).
#76
Отправлено 11.02.2007, 18:11:55
Вы спрашиваете - равносильно ли из A => B и not A => not B
Рассмотрим такой случай:
А ложно и B истинно. Оно удовлетворяет A => B(т.к. из ложного высказывания модет быть хоть че, то есть если 1=0 то я золушка можно, но можно - если 1=0 то я Тимур, и то и то верно). Но тогда во втором случае получится из истенного высказывания следует ложное. Что неверно. Утверждение опровергнуто.
#77
Отправлено 11.02.2007, 18:21:58
А из истинного высказывания тоже может быть хоть че. Например: В.В. Путин - президент России, следовательно, Луна сделана из зеленого сыра.Рассмотрим такой случай:
А ложно и B истинно. Оно удовлетворяет A => B(т.к. из ложного высказывания модет быть хоть че, то есть если 1=0 то я золушка можно, но можно - если 1=0 то я Тимур, и то и то верно). Но тогда во втором случае получится из истенного высказывания следует ложное. Что неверно. Утверждение опровергнуто.
#78
Отправлено 11.02.2007, 20:49:19
В твоем примере ошибка в том что из Путин - президент НЕ СЛЕДУЕТ что луна из зеленого сыра.
А ИЗ ТОГО ЧТО 1=0 МОЖЕТ СЛЕДОВАТЬ ХОТЬ ЧТО. то есть из лоного высказывания может следовать хоть что. Тут я прав и все у меня верно.
#79
Отправлено 11.02.2007, 21:59:50
Я намеренно взял совершенно дикий, нелепый пример (смайлик забыл поставить), поскольку банальный здравый смысл показывает, что здесь и близко нет никакой связи между причиной и следствием. Однако это далеко не всегда так очевидно - иначе бы никогда не происходили ошибки в жизни, да и в науке тоже.В твоем примере ошибка в том что из Путин - президент НЕ СЛЕДУЕТ что луна из зеленого сыра.
А с формальной точки зрения какие есть причины запрещать строить подобные утверждения? Мы генерируем новые знания на основании уже имеющихся знаний. Допустим, уже имеется знание "прошел дождь - значит, дорога мокрая". На основании этого знания строим новое: "Если дождя не было, значит дорога сухая". Но обобщать подобным образом, конечно, нельзя (хотя у меня нет четкого доказательства, почему нельзя, а простое заявление "НЕ СЛЕДУЕТ" формально ничего не доказывает).
Да с этим я и не спорил. Из ложного утверждения можно получить какое угодно - ложное или истинное.А ИЗ ТОГО ЧТО 1=0 МОЖЕТ СЛЕДОВАТЬ ХОТЬ ЧТО. то есть из лоного высказывания может следовать хоть что. Тут я прав и все у меня верно.
#80
Отправлено 11.02.2007, 22:57:42
A => B означает что при ИСТИННОМ А ИСТИННО И B.
И сново же - ты говришь что-то не то.
То есть если "В.В. Путин - президент России, следовательно, Луна сделана из зеленого сыра.", при истинности "В.В. Путин - президент России" "Луна сделана из зеленого сыра." будет тоже правда!!!
А так как это ни так из "В.В. Путин - президент России" не следует "Луна сделана из зеленого сыра.".
p.s. А пример :!
Количество пользователей, читающих эту тему: 1
пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0