Итак, приступаю (и, по старой доброй национальной традиции, не прямо к делу, а несколько издалека)...
Почти всякий курс математической логики начинается стандартно: с исчисления высказываний. Вводятся логические операции (иначе, связки): конъюнкция, дизъюнкция, отрицание, импликация и эквивалентность; также постулируется наличие двух истинностных значения: истина (true) и ложь (false).
Далее, приводятся таблицы истинности логических связок и изучаются способы определения истинности логических формул путем построения таблиц. Учащемуся предлагается изучить два-три десятка логических формул (иногда и больше), которые при любых значениях истинности составляющих их частей, всегда имеют значение true и показывается, как эти формулы можно применять. Потом наступает пора исчисления предикатов и прочих технических вещей, которые не слишком сложны, но порой утомительны. Понятно, что порядок и способ изложения тех или иных понятий может, конечно, разниться, но общая тенденция примерно такова.
Когда учащийся окончательно притомится и начнет терять надежду выпутаться из бесконечных таблиц, логических формул, когда он почти разуверится, что все это может быть не только полезным, но и интересным, это самое интересное и наступает: теория множеств (причем, уровень изложения может быть от элементарного - на уровне понятий, до весьма продвинутого), формальная арифметика и теория доказательств. Обычно, тут излагаются действительно интересные и глубокие вещи: теоремы Геделя, обсуждаются парадоксы и т.д.
Если остается время и силы учащегося окончательно не иссякли, то иногда дается введение в теорию рекурсивных функций и теорию вычислимости.
Тема настоящего блога как раз последнее - вопросы вычислимости. Мы не будем глубоко и тщательно касаться теории (для этого есть много хороших книг, написанных выдающимися специалистами; упомянем имена Д.Гильберта, С.Клини, А.Тарского и других), а в основном займемся практикой. Разумеется, без базовых понятий в той же математической логике не обойтись. Тем, кто запамятовал, что это такое лучше обратиться к какому-нибудь стандартному учебнику, скажем, книгам Мендельсона, Колмогорова, Клини или Новикова (одним словом, подойдет любой университетский учебник логики для математических факультетов, какой читетель сможет найти).
В качестве более живого и увлекательного (но, отнюдь далеко не простого) чтения, можно порекомендовать великолепные книги американского логика и известного популяризатора Р.Смаллиана: поищите, не пожалеете.
Вот, пожалуй, и все, что я хотел сегодня поведать. До встречи и удачи всем !!!
среда, 29 августа 2007 г.
понедельник, 27 августа 2007 г.
Вместо введения
Здравствуйте, уважаемый посетитель !
Честно говоря, это мой первый опыт блоговедения. Не обессудьте, если что не так - постараюсь быть внимательным к содержательным замечаниям и конструктивной критике и по-возможности быстро исправлять ляпы и устранять ошибки. Надеюсь, что блог окажется удачным, неутомительным, продуктивным и, не в последнюю очередь, занимательным. Да-да, еще и занимательным, поскольку вокруг тем, которые я хочу предложить Вашему вниманию, незаслуженно сложился ореол избыточной абстрактности, оторванности от жизни и, как следствие, едва ли не бесполезности.
Чтобы не возвращаться к этому, позвольте сразу представиться: меня зовут Алексеем. Область интересов - математическая логика, основания математики и программирование. Если чуть более конкретно (но без излишних и утомительных подробностей, неуместных в этом "введении") это вопросы вычислимости и всякие "штучки", вроде машин Тьюринга, Поста, рекурсивных функций и тому подобные вопросы.
Причем тут программирование ? Честно говоря, почти и не причем. Разве что, во-первых, это все-таки "близкородственные" направления (с той существенной разницей, что логика, основания математики и вычислимость направления больше теоретические, а программирование - преимущественно прикладное) и, во-вторых, надо же как-то зарабатывать на хлеб насущный и если уж приходится заниматься программированием, то, по крайней мере, не испытывая известного омерзения от занятий этим делом. Это, конечно, шутка!
Затевая этот блог мне меньше всего хочется, чтобы он превратился в "помойку", в какую рано или поздно превращаются почти все форумы сходного направления (особенно это касается чисто программистских форумов). Религиозные споры (Windows против Linux, C++ против Java и т.п.) надоели и опротивели. Прежде чем дать автору вопроса содержательный ответ, его (т.е. автора) почти непременно оскорбят, отошлют к RTFM, усомнятся в умственных способностях, сексуальной ориентации и профессиональной пригодности. И даже после всего этого отнюдь не факт, что ответ будет получен. Надеюсь, читатели и участники обсуждений в этом блоге (если он состоится и к чему я постараюсь приложить все силы) обладают достаточным культурным уровнем и не опустятся до описанной выше мерзости.
Засим, позвольте на время откланяться. Чтобы не оставлять в неопределенности потенциальных собеседников блога, я хочу обозначить следующую тему, которая, на мой взгляд, лежит на стыке теории и практики - минимизация конструкций языков программирования.
Спасибо, что прочли это несколько затянувшееся введение и до встречи !!! Удачи всем
Честно говоря, это мой первый опыт блоговедения. Не обессудьте, если что не так - постараюсь быть внимательным к содержательным замечаниям и конструктивной критике и по-возможности быстро исправлять ляпы и устранять ошибки. Надеюсь, что блог окажется удачным, неутомительным, продуктивным и, не в последнюю очередь, занимательным. Да-да, еще и занимательным, поскольку вокруг тем, которые я хочу предложить Вашему вниманию, незаслуженно сложился ореол избыточной абстрактности, оторванности от жизни и, как следствие, едва ли не бесполезности.
Чтобы не возвращаться к этому, позвольте сразу представиться: меня зовут Алексеем. Область интересов - математическая логика, основания математики и программирование. Если чуть более конкретно (но без излишних и утомительных подробностей, неуместных в этом "введении") это вопросы вычислимости и всякие "штучки", вроде машин Тьюринга, Поста, рекурсивных функций и тому подобные вопросы.
Причем тут программирование ? Честно говоря, почти и не причем. Разве что, во-первых, это все-таки "близкородственные" направления (с той существенной разницей, что логика, основания математики и вычислимость направления больше теоретические, а программирование - преимущественно прикладное) и, во-вторых, надо же как-то зарабатывать на хлеб насущный и если уж приходится заниматься программированием, то, по крайней мере, не испытывая известного омерзения от занятий этим делом. Это, конечно, шутка!
Затевая этот блог мне меньше всего хочется, чтобы он превратился в "помойку", в какую рано или поздно превращаются почти все форумы сходного направления (особенно это касается чисто программистских форумов). Религиозные споры (Windows против Linux, C++ против Java и т.п.) надоели и опротивели. Прежде чем дать автору вопроса содержательный ответ, его (т.е. автора) почти непременно оскорбят, отошлют к RTFM, усомнятся в умственных способностях, сексуальной ориентации и профессиональной пригодности. И даже после всего этого отнюдь не факт, что ответ будет получен. Надеюсь, читатели и участники обсуждений в этом блоге (если он состоится и к чему я постараюсь приложить все силы) обладают достаточным культурным уровнем и не опустятся до описанной выше мерзости.
Засим, позвольте на время откланяться. Чтобы не оставлять в неопределенности потенциальных собеседников блога, я хочу обозначить следующую тему, которая, на мой взгляд, лежит на стыке теории и практики - минимизация конструкций языков программирования.
Спасибо, что прочли это несколько затянувшееся введение и до встречи !!! Удачи всем
Подписаться на:
Сообщения (Atom)