Ответ 1
Они не ленивы, практика - единственный способ. Возьмите занятия, в которых вы должны делать доказательства, и смотрите онлайн для заметок классов и старых тестов с ответами других колледжей, которые проходят доказательства.
Когда мы начинаем получать дизайн алгоритмов и более дискретные темы в области компьютерных наук, нам все время приходится доказывать все. Каждый раз, когда я видел, как кто-то спрашивает, как стать действительно хорошим доказательством, общий (и, возможно, ленивый) ответ - "практика".
Практика все в порядке, если у вас есть основы, но как вы попадаете в ум, установленный для математических доказательств? Когда индукция нажала? Какие ресурсы лучше всего подходят для обучения этим темам? Какие фундаментальные темы следует исследовать до того, как поработать над письмом?
Они не ленивы, практика - единственный способ. Возьмите занятия, в которых вы должны делать доказательства, и смотрите онлайн для заметок классов и старых тестов с ответами других колледжей, которые проходят доказательства.
Я начну свой ответ, признав, что, будучи студентом CS, мне было очень сложно схватить формальный образ мышления, и это никогда не бывает легким, если у вас нет таланта.
Я боюсь, что лучшего ответа лучше, чем практика и study.
Формальный математический и алгоритмический способ мышления и видения проблемы - это навык, который требует прежде всего глубокого понимания предметов, с которыми вы имеете дело. Во-вторых, это требует, чтобы вы хорошо знали существующие доказательства. Постарайтесь представить себя как некоторые из великих ученых, которые придумали алгоритмы, которые вы изучаете. Поймите, как бы вы попытались решить эту конкретную проблему. Затем посмотрите, как они доказали правильность своего алгоритма.
Я могу рекомендовать только самый большой учебник по этому предмету, который Введение в алгоритмы с помощью CLRS. Если вы пройдете через это от начала до конца, включая каждое упражнение, вы улучшите свои навыки.
Практика - это единственный способ, но это может помочь, читая доказательства. Я не буду касаться практики, потому что другие ответчики охватили все, что я могу придумать, поэтому я просто расскажу о том, что я имею в виду, читая.
Учебники очень любят писать "важные" доказательства. Это очень приятно, потому что они часто доказывают очень сильные заявления и действительно причудливы. Но так же, как вы не должны учиться быть гимнастом мирового класса с 1-го дня, подражая олимпийцу (как, например, вы, вероятно, сломаете себе позвоночник), вы не должны читать действительно большие доказательства (сначала). То, что я нашел, было полезно, когда я читал небольшие доказательства, обычно из возвращаемой домашней работы (я предполагаю, что вы студент) или изредка учебник, который разрастается.
Причина, по которой я считаю, что доказательства чтения полезны, состоит в том, что существует небольшой набор "трюков" или "идей", которые составляют огромные куски доказательств в школьной жизни и даже более продвинутые. Качества данных и рекуррентные отношения обычно связаны с мышлением, связанным с доказательством по индукции, доказательства, связанные с вычислимостью с конечными автоматами, иногда используют принцип pigeonhole, а реже идея диагонализация (очень редко, не беспокойтесь об этом). И, конечно, почти все другие доказательства используют доказательство в противовес. Я уверен, что есть другие удобные инструменты, которые соскользнули с моего ума, но я надеюсь, что вы поняли эту идею.
Выяснение того, когда, как и почему вы подходите к проблеме с помощью того или иного метода, это то, что требует практики и опыта. Я предлагаю читать доказательства в дополнение к практике, потому что он может часто показывать вам творческие способы использования метода проверки, с которым вы уже столкнулись.
В качестве последней заметки попробуйте вспомнить, когда вы впервые научились программировать. Как вы поправлялись? На мой взгляд, доказывать вещи и программирование не слишком разнородны.:)
Вы попадаете в ум, предназначенный для выполнения математических доказательств, становясь математиком. Я не имею в виду последнее утверждение тавтологическим способом, но понимаю, что математическое доказательство, опубликованное в математическом журнале, является чем-то вроде риторического артефакта; т.е. это доказательство, потому что тело математиков соглашается с тем, что оно является доказательством. В идеале аргументы в доказательстве можно было бы свести к символической логике, но это не так, как это делается на практике. Очевидным доказательством этого является полный отказ от компьютерных доказательств для создания ценной математики.
Я вхожу в сознание, задавая доказательства и принимая их другими математиками. Я согласен с другими в том, что "практика" имеет важное значение. Вы не делаете доказательств, если не попытаетесь, попробуйте и не попытайтесь. Часто свет замирает медленно.
Лучшие ресурсы - это, конечно, другие математики, а также доказательства чтения. Есть очень мало, если таковые имеются, кто может делать истинные математические доказательства, не будучи частью математического сообщества.
Я боюсь, что "практика" действительно является лучшим ответом здесь.
Его очень похоже на программирование: как только вы его повесили, вы найдете шаблоны, которые особенно хорошо решают проблемы, и вы можете создать картину высокоуровневого дизайна новых систем, которые вы никогда раньше не реализовывали. Тем не менее, программисты-неофиты не знают шаблонов: они взламывают код, пока они случайно не споткнутся о каком-то решении, которое, похоже, "работает".
Когда вам дается проблема для доказательства, вы обычно можете идентифицировать свойства ( "У меня есть набор различных объектов?", "Я генерирую перестановки?", "Я ищу, чтобы минимизировать/максимизировать некоторую ценность?", и т.д). Рано или поздно доказательства будут объединяться в смутно подобную группу, где методы, используемые для решения одной проблемы, могут легко примениться к новым вариантам.
Рекомендуемое чтение:
Я понятия не имею. Наверное, так же, как вы умеете сочинять музыку.
Когда я пытаюсь доказать что-то, я не следую какой-то фиксированной стратегии, я просто думаю о проблеме. Затем [ undefined количество времени], мой ум возвращает результат, и я вскакиваю, чтобы записать его.
Но практика определенно помогает. Когда я начал пытаться доказать чрезвычайно простые заявления, такие как законы ДеМоргана, я был совершенно безнадежен. Поэтому я сел и сделал пятьдесят или около того дополнительных проблем на листе, который нам дали. Теперь кажется естественным что-то доказать.
Практика и учеба имеют смысл, согласованы. Некоторые трюки, которые я нашел полезными: