Перейти к содержимому

Фотография

Реально ли выучить программированиеесли плохо знаешь математику


  • Закрытая тема Тема закрыта
Сообщений в теме: 246

#61
PNf

PNf
  • Завсегдатай
  • 118 сообщений
Может он и алгоморитмизирует (не понимаю значения :bored: ), но может ли он написать что либо на основе сложной теории?(в смысле где она нужна)
p.s. Извините за * речь.
  • 0

#62
DaBrat

DaBrat
  • В доску свой
  • 1 284 сообщений
Ну, наверное не понимаете, потому что он алгоритмизирует, а не

алгоморитмизирует

то есть пишет (разрабатывает, придумывает, во сне видит и т.д.) эффективный алгоритм решения поставленной задачи.
Вообще, чес говоря, никогда не понимала людей, которые говорят, что "хороший программист" должен знать пути решения всех этих "сложных теорий". Для этого и сущ-ют математики, а программист составляет алгоритм вычисления формул (формулы могут и математиками быть предоставлены). Ну, это ИМХО, конечно:bored:
По моему, если человек и сам сложные теории разбирает и еще, при этом, хорошие программы пишет - то он уже уникум. из таких, наверное, билыгейтсы и получаются.
  • 0

#63
PNf

PNf
  • Завсегдатай
  • 118 сообщений
Если программист не зная напишет сжатие соцветий, то я сниму свою шляпу и голову к прчему. А там просто опечатка была :bored:
  • 0

#64
Visual1

Visual1
  • В доску свой
  • 1 198 сообщений
В общем, вроде бы все согласны, что не следует путать понятия "программист" и "математик". Конечно, если программист понятия не имеет, как находить корни квадратного уравнения, это его совсем не украшает. Но если програмист не в ладах с логикой и причинно-следственными связями... :bored:

Вот пример для желающих проверить себя в этом отношении. Допустим, есть справедливое утверждение: "Если прошел дождь, то дорога мокрая". Это простая причинно-следственная связь типа A => B (читается так: "если A, то B"). На основании этого утверждения можно построить другое утверждение: "Если дождя не было, то дорога сухая"*. Иначе говоря, формула NOT A => NOT B тоже будет справедливой. Второе утверждение можно считать следствием первого.

Итак, по условию дано, что первая логическая формула (A => B) справедлива (никаких других посторонних воздействий нет). Вопрос: обязательно ли из справедливости первой формулы следует справедливость второй?

---
* Примечание: для упрощения не будем учитывать отвлекающие моменты вроде "не факт, если дождя не было, дорога все равно может быть мокрая - там могла проехать поливалка или прорвало водопровод" :spy:
  • 0

#65
v04bvs

v04bvs
  • В доску свой
  • 2 062 сообщений

http://www.bbсссячяяячhttp://www.bbНа основании этого утверждения можно построить другое утверждение

Неверно.

Правильно будет так:
A -> B => NOT B -> NOT A
Т.е. правильно будет "Если дорога не мокрая, значит дождя не было"


* Примечание: для упрощения не будем учитывать отвлекающие моменты вроде "не факт, если дождя не было, дорога все равно может быть мокрая - там могла проехать поливалка или прорвало водопровод"

Это упрощение нельзя принимать в рассмотрение, именно оно существенно. Если конечно не ограничивать всю вселенную конкретной дорогой и конкретным дождём. Но в этом случае нужно специально это оговаривать.

Сообщение отредактировал v04bvs: 09.02.2007, 16:31:16

  • 0

#66
Visual1

Visual1
  • В доску свой
  • 1 198 сообщений

Это упрощение нельзя принимать в рассмотрение, именно оно существенно. Если конечно не ограничивать всю вселенную конкретной дорогой и конкретным дождём. Но в этом случае нужно специально это оговаривать.

А если это не упрощение решения, а часть условия? По условию есть только дорога и дождь, никаких других воздействий. Вопрос все тот же.
  • 0

#67
v04bvs

v04bvs
  • В доску свой
  • 2 062 сообщений


Это упрощение нельзя принимать в рассмотрение, именно оно существенно. Если конечно не ограничивать всю вселенную конкретной дорогой и конкретным дождём. Но в этом случае нужно специально это оговаривать.

А если это не упрощение решения, а часть условия? По условию есть только дорога и дождь, никаких других воздействий. Вопрос все тот же.

Тогда я распишу всё подробнее, ибо это уже не совсем классическая логика получается.
Итак:
есть дорога, и есть дождь.
Дорога - объект, обладающий свойством "сухость".
Дождь - объект, который может "проходить".
Они взаимодействуют следующим образом: после операции "пройти" дождя, свойство "сухость" дороги становится ложным.
Других объектов в рассматриваемой системе нет.
Вопрос: если дождь не "проходил", чему равно состояние "сухость" у дороги?
Ответ в данной трактовке очевиден - свойство "сухость" задаётся начальными условиями (которых не было): если изначально она сухая, она останется сухой, если изначально она мокрая - она останется мокрой.
Поэтому без дополнительных начальных условий утверждение "Если дождя не было, значит дорога сухая" опять же не следует из первоначального утверждения.
  • 0

#68
T. Anre

T. Anre

    Data Miner

  • В доску свой
  • 2 327 сообщений

Если прошел дождь, то дорога мокрая

Вопрос: если дождь не "проходил", чему равно состояние "сухость" у дороги?
Ответ в данной трактовке очевиден - свойство "сухость" задаётся начальными условиями (которых не было): если изначально она сухая, она останется сухой, если изначально она мокрая - она останется мокрой.
Поэтому без дополнительных начальных условий утверждение "Если дождя не было, значит дорога сухая" опять же не следует из первоначального утверждения.

Изначально, дорога предполагается сухой, т.к. метод "падать" объекта "Дождь" не был вызван, если же дорога мокрая, то соответственно метод "падать" объекта "Дождь" был вызван.

Логический вывод таков, что дорога изначально - сухая, т.к. обратного нет в условие.
  • 0

#69
T. Anre

T. Anre

    Data Miner

  • В доску свой
  • 2 327 сообщений

В общем, вроде бы все согласны, что не следует путать понятия "программист" и "математик". Конечно, если программист понятия не имеет, как находить корни квадратного уравнения, это его совсем не украшает. Но если програмист не в ладах с логикой и причинно-следственными связями... :spy:

Вот пример для желающих проверить себя в этом отношении. Допустим, есть справедливое утверждение: "Если прошел дождь, то дорога мокрая". Это простая причинно-следственная связь типа A => B (читается так: "если A, то B"). На основании этого утверждения можно построить другое утверждение: "Если дождя не было, то дорога сухая"*. Иначе говоря, формула NOT A => NOT B тоже будет справедливой. Второе утверждение можно считать следствием первого.

Итак, по условию дано, что первая логическая формула (A => B) справедлива (никаких других посторонних воздействий нет). Вопрос: обязательно ли из справедливости первой формулы следует справедливость второй?

Насчет второго утверждения, а если его проверять тогда, когда дождь только начал падать и при этом капли еще не соприкоснулись с дорогой?
Или же, если дождь пошел, то дорога, мгновенно, стала мокрой?
  • 0

#70
Visual1

Visual1
  • В доску свой
  • 1 198 сообщений
Для v04bvs, T.Anre и всех интересующихся:

Для частного случая ответ, конечно, правильный. Да это и нетрудно. А если случай общий? Если мы вообще ничего не знаем о том, какие конкретно эти явления А и В? Знаем только, что есть зависимость A => B. Если происходит A (А = true), то всегда будет B (В = true).

Вопрос: зная это условие, можно ли утверждать, что всегда будет выполняться NOT A => NOT B? Если нельзя, то почему? (Про дорогу и дождь теперь забудьте, как если бы такого примера и не было).
  • 0

#71
T. Anre

T. Anre

    Data Miner

  • В доску свой
  • 2 327 сообщений

Для v04bvs, T.Anre и всех интересующихся:

Для частного случая ответ, конечно, правильный. Да это и нетрудно. А если случай общий? Если мы вообще ничего не знаем о том, какие конкретно эти явления А и В? Знаем только, что есть зависимость A => B. Если происходит A (А = true), то всегда будет B (В = true).

Вопрос: зная это условие, можно ли утверждать, что всегда будет выполняться NOT A => NOT B? Если нельзя, то почему? (Про дорогу и дождь теперь забудьте, как если бы такого примера и не было).

Вместо ответа:

Число делится без остатка на 10 => Число делится без остатка на 5
  • 0

#72
PNf

PNf
  • Завсегдатай
  • 118 сообщений
исследую
1)A => B
if (A = true) B = true;
2)not A => not B
if (A = false) B = false;
очевидно что из первого не следует второе. т.к. в первом возможно
if (A= false) B = true;
  • 0

#73
T. Anre

T. Anre

    Data Miner

  • В доску свой
  • 2 327 сообщений

исследую
1)A => B
if (A = true) B = true;
2)not A => not B
if (A = false) B = false;
очевидно что из первого не следует второе. т.к. в первом возможно
if (A= false) B = true;

А в чем же связь между A и B?
  • 0

#74
PNf

PNf
  • Завсегдатай
  • 118 сообщений
1) A => B
Выполнимо если A ложно а B истенно
2) not A => not B
не выполнимо
  • 0

#75
Visual1

Visual1
  • В доску свой
  • 1 198 сообщений

исследую
1)A => B
if (A = true) B = true;

Правильно, это по условию (если бы это была программа на С, то запись выглядела бы 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). Практические примеры своей неоднозначностью тоже говорят в пользу этого мнения. Но все же, как видите, доказательство этого в общем виде пока еще здесь никому не удалось (в других местах я его тоже не нашел).
  • 0

#76
PNf

PNf
  • Завсегдатай
  • 118 сообщений
Решил все написать четко.
Вы спрашиваете - равносильно ли из A => B и not A => not B
Рассмотрим такой случай:
А ложно и B истинно. Оно удовлетворяет A => B(т.к. из ложного высказывания модет быть хоть че, то есть если 1=0 то я золушка можно, но можно - если 1=0 то я Тимур, и то и то верно). Но тогда во втором случае получится из истенного высказывания следует ложное. Что неверно. Утверждение опровергнуто.
  • 0

#77
Visual1

Visual1
  • В доску свой
  • 1 198 сообщений

Рассмотрим такой случай:
А ложно и B истинно. Оно удовлетворяет A => B(т.к. из ложного высказывания модет быть хоть че, то есть если 1=0 то я золушка можно, но можно - если 1=0 то я Тимур, и то и то верно). Но тогда во втором случае получится из истенного высказывания следует ложное. Что неверно. Утверждение опровергнуто.

А из истинного высказывания тоже может быть хоть че. Например: В.В. Путин - президент России, следовательно, Луна сделана из зеленого сыра.
  • 0

#78
PNf

PNf
  • Завсегдатай
  • 118 сообщений
Из знака следствия при A = true B должно быть true.
В твоем примере ошибка в том что из Путин - президент НЕ СЛЕДУЕТ что луна из зеленого сыра.
А ИЗ ТОГО ЧТО 1=0 МОЖЕТ СЛЕДОВАТЬ ХОТЬ ЧТО. то есть из лоного высказывания может следовать хоть что. Тут я прав :spy: и все у меня верно.
  • 0

#79
Visual1

Visual1
  • В доску свой
  • 1 198 сообщений

В твоем примере ошибка в том что из Путин - президент НЕ СЛЕДУЕТ что луна из зеленого сыра.

Я намеренно взял совершенно дикий, нелепый пример (смайлик забыл поставить), поскольку банальный здравый смысл показывает, что здесь и близко нет никакой связи между причиной и следствием. Однако это далеко не всегда так очевидно - иначе бы никогда не происходили ошибки в жизни, да и в науке тоже.

А с формальной точки зрения какие есть причины запрещать строить подобные утверждения? Мы генерируем новые знания на основании уже имеющихся знаний. Допустим, уже имеется знание "прошел дождь - значит, дорога мокрая". На основании этого знания строим новое: "Если дождя не было, значит дорога сухая". Но обобщать подобным образом, конечно, нельзя (хотя у меня нет четкого доказательства, почему нельзя, а простое заявление "НЕ СЛЕДУЕТ" формально ничего не доказывает).

А ИЗ ТОГО ЧТО 1=0 МОЖЕТ СЛЕДОВАТЬ ХОТЬ ЧТО. то есть из лоного высказывания может следовать хоть что. Тут я прав :spy: и все у меня верно.

Да с этим я и не спорил. Из ложного утверждения можно получить какое угодно - ложное или истинное.
  • 0

#80
PNf

PNf
  • Завсегдатай
  • 118 сообщений
To Visual - что такое следует
A => B означает что при ИСТИННОМ А ИСТИННО И B.
И сново же - ты говришь что-то не то.

То есть если "В.В. Путин - президент России, следовательно, Луна сделана из зеленого сыра.", при истинности "В.В. Путин - президент России" "Луна сделана из зеленого сыра." будет тоже правда!!!
А так как это ни так из "В.В. Путин - президент России" не следует "Луна сделана из зеленого сыра.".

p.s. А пример :!
  • 0


Количество пользователей, читающих эту тему: 1

пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.