Введение в логику, урок 2: Представление функций
HTML-код
- Опубликовано: 27 май 2024
- Практические курсы по программированию на русском языке - от первой программы до первой работы → ru.hexlet.io/?...
✅ Полезные вебинары по программированию каждую неделю: ru.hexlet.io/webinars?...
Классическая логика является формальной основой для 99% современной математики. Понимание принципов логики - обязательно для настоящего программиста.
Полезные ссылки:
ru.hexlet.io/blog/categories/... - Истории успеха
Автор: Рахим Давлеткалиев (rakh.im/)
Таймкоды:
0:00 Приветствие
0:45 Функция f
1:58 Функция g0
3:47 Функция g1
4:22 Функция h
6:18 Примеры значений
7:36 ДНФ
7:53 Функция f=0
8:56 КНФ
10:50 Другие параметры
12:28 Теорема 1.2
13:06 Теорема 1.3
14:20 Доказательство
15:12 Базис Жегалкина
16:20 Пример: выражение импликации в базисе Жегалкина
17:30 Обратная задача
18:30 Требование: транзитивность
20:28 Домашнее задание
#IT #математическаяЛогика #логика#обучение #программирование
Пошел в польщу на программиста, на программиста тяжело учиться, а мне на иностранном языке темболее, но благодаря вам, я смог пройти эту тему самостоятельно. Даже спустя 9 лет, ваши видео все равно выручают людей. Спасибо большое)
Что то я такое про конечные автоматы в вузе проходил. Память воспроизвела трансцендентный ужас и чуство безысходной тоски перед экзаменом... Предчуствие грядущей расплаты за сон на лекциях... Сейчас слушаю это и спакойно засыпаю... Мне 60.
Мне 37😊
17:33 проблемы начались и раньше, но тут способность разъяснить тему для самых маленьких резко и окончательно оставила лектора.
Если честно, я ничего не поняла хотя бы потому, что объяснение очень сухое и научное при всей отлично поставленной дикции. Слушать приятно, а понять трудно на чистых формулах. В конкретных реальных примерах было бы понятнее. Но я пришла в целом не за логикой, а за кванторами. Их по-любому придётся понять, спасибо)
Очень интересно, но них*я не понятно!
Не больше четверти зрителей дожили до 2-го видео. :D
Потому что поняли что это им нафиг не надо)
Что-то логика нифига не логична.
Просто Гениально! Не для Средних Умов.. Весь курс..Having pumped up my Brain Really with You.
Евгений, лично мне логика интересна с точки зрения оснований математики и красивых парадоксов. На практике - обильно в программировании, в искуственном интеллекте, в электронных схемах и прочее и прочее. Это основа, на которой строятся многие вещи в этом мире.
антон нечукин в задании предполагается, что (a=b)->(a->b) мы принимаем как выражение, всегда истинное (при заданной таблице истинности для импликации это и вправду так, в частности если a=0 и b=1, то a=b ложно, а любая импликация из лжи - истинна). Используя это, исключенное третье и значения истинности для импликации из стины, можно вывести остаток таблицы истинности для импликации. На форуме где-то это задание разбиралось, кстати, но я сейчас не успею искать, надо уходить.
тут бы сначала понять - что требуется сделать в домашнем задании))
Чертовски интересно, спасибо!
"если вас пугает слово функции, то не бойтесь"лол. как только он это сказал я тут же перестал бояться
Вырвал из контекста. Если вас пугает слово функция, то не бойтесь это те же законы которые мы проходили на прошлом уроке
Все понятно, только где мы это применяем?
вы такой хороший преподаватель . Успехов вам
Лекции и способ подачи збс, но я застрял на доказательствах. Поленился на прошлой лекции и не сделал ДЗ, щас жалею :D
"Вот длиннющая формула. В ней все очевидно. Если Вы не поняли, то подумайте и поймите. Следующий слайд." (((
Она и правда простая
В домашнем задании 1.5 (и в 18:30 Требование: транзитивность) не очень поняла, как можно пытаться вывести таблицу истинности для импликации, уже используя импликацию. Думала, что нельзя в принципе "вывести" таблицу истинности для базовых логических операторов - потому что это их определение. Без этого определения, т.е. без таблицы истинности, не существует и оператора.
Есть решение домашних работ с объяснением?
Мы всегда под знаком "+" подразумевали ИЛИ, сам же называл дизъюнкцию логическим сложением (впрочем она так везде называется), так что очень сложно воспринимать ¬a = a + 1 вместо ¬a = a ⊕ 1 (везде "+" означает ИЛИ, зачем подменять понятия и путать людей?)
В документация везде делают замену xor на or в базисе жегалкина
9:57, ¬(a ⟶ b) = a ⋀ ¬b : отрицание конъюнкции есть не что иное, как дизъюнкция отрицаний: a ⟶ b = ¬a ⋁ b
20:15 ошибка? Ниже, со слов "Зная, что (0..." Вы приводите в пример a=1, b=0 (это 3я строка в таблице) и говорите, что это пример второй строки. Если я ошибся, опишите почему? Спасибо.
СУПЕР!!!
и впарвду,сначала было ¬a = a ⊕ 1,потом ¬a = a + 1.
Так запутаться можно)
Лично мне больше нравится a ⊕ 1 запись
6:23 объясните, пожалуйста, почему мы описываем только те случаи, когда функция истинна, а не все?
А как делать домашнее задание ? Я что-то не вкуриваю вообще...
Добрый день! 9 минута кнф, не совсем понятно если мы описываем значения при которых f не равно нулю, то зачем мы к ним добавляем "не", или мы описываем значения при которых функция равна 1, исходя что значение не верное. Пример вторая строка мы пишем не а и не б и с, при этих параметрах функция равна 1? Или я не правилтно понял? По логике должно быть не ф = а и б и не с
Помогите сделать 5ое задание, ни как не получается сделать(это задание по выводу импликации через закон исключённого 3го и того факта что эквиваленция подрузамевает под собой импликацию). Я пропобовал через таблицу истинности эквиваленции - не получилось, без этой таблицы - неполучилось
Такое обозначение стандартно в логике и за этим кроется серьезная мотивация. В этом кратком курсе этого не будет (может быть в последующих курсах, если Рахим будет продолжать читать лекции по моему учебнику), в учебнике же я буду это излагать в четвертой главе. Заключается эта мотивация в том, что поле Z_2 ("кольцо вычетов по модулю 2", как любят говорить инженеры) целиком повторяет классическую логику высказываний, если за умножение принять "и", а за сложение "исключающее или". Поэтому операции логично изображать в виде сложения и умножения, поскольку они ничем от них не отличаются с точки зрения алгебры.
"Мы всегда под знаком "+" подразумевали ИЛИ", "впрочем она так везде называется" - это какие-то очень плохие источники.
эмм.. все учебные материалы которые мне попадали в руки, все дизъюнкцию выражали знаками: +, ИЛИ, |, v, ||, OR, max(a,b)
а строгую дизъюнкцию: ⊕, XOR, a +2 b (тут 2 в нижнем индексе), a ∧ b (∧ - в верхнем индексе), a ≠ b, (+)
В свою очередь строгая дизъюнкция выражалась везде так: ¬ab+a¬b
Поэтому странно видеть что-то другое..
Сергей Давлеткулов
я сейчас поискал в Интернете, и действительно обозначение исключающего или через + встречается редко. Думаю, что вы правы - вводить это обозначение вероятно не стоило, по крайней мере до введения колец. Вероятно (я еще подумаю над этим, т.к. всё же такое использование знака + удобно), я переделаю этот параграф.
+ действительно часто используется для логического "или", для меня это стало новостью и это единственное, с чем я категорически не могу согласиться. Запись 1+1=1 кажется совершенно бессмысленной, ну и опять же с точки зрения алгебры всегда предполагается, что + обозначает операцию в абелевой группе, что для дизъюнкции не правда (в отличие от xor).
Вероятно, тут сказывается, мой теоретический бекграунд вместо традиционного инженерного.
На 2:12 правильно не "выдаёт", а "возвращает". Слово "return" поможет запомнить. В математике аргументы, а не параметры. Трудно слушать, когда вместо "возвращает значение" говоришь принимает значения. Потому что принимать - это "input", а возвращать - это "return".
а какой книгой лучше пользоваться в помощь для прохождения курса?
а я наоборот пришел изза того что в книге не понял:D "дискретная математике для программистов"
Дейсдвительно оче интересно я одобряю
спасибо за материал , все поучительно, но как же бесит, когда во время разговора или в данном случаи урока постоянно отрыгивают
Весь бардак в голове начинается с того момента, когда начинают переопределять обозначения одних и тех же логических операций. "Си" шники, попробуйте вместо этих закорючек поставить нормальные &, |, ^, ~, многое для себя откроете и любая битовая математика превратится в обычную побитовую операцию, которую вы совершали тысячи раз. Это как заставить общаться людей на русском, предварительно заменив смыслы слов. Например, читая "хорошо", подразумевай " Зеленое" и т. п.
5:53 почему в условиях И, а представление идет через ИЛИ?
В упражнении 1.4 что подразумевает под собой 1 + ab? Какой знак находится между буквами a и b?
Множення, а множення під собою підрозумівая Конюнкцию. Тобто (1⊕a∧b)
А почему учитывается только "И"? Где-то же такие результаты может выдавать "ИЛИ" или "ЭКВИВАЛЕНТ"!
Тот случай, когда без 100г не разобраться)
8:04 к примеру первый ряд: 0 0 0 f = 1 ; -a ^ -b ^ -c ;
8:11 в первых скобках -a ^ -b ^ c (как это получилось? ))) почему НЕ "с" стало "с" ??
на "8:11" речь идет уже об отрицательном исходе f (в таблице истинности варианты с ложным исходом) : ¬f(a,b,c) = 0 ∨ 0 ∨ 0 ∨ 0 ... и о примененном к ней законе отрицания дизъюнкции : ¬(a ∨ b ∨ c) = (¬a) ∧ (¬b) ∧ (¬c)
Импликация это жесть какая то. Для себя вывел понимание импликации так: если A меньше, либо равно B, то 1, иначе 0.
Цитата «Полином был предложен в 1927 году Иваном Жегалкиным в качестве удобного средства для представления функций булевой логики.». УДОБНОГО? Кто понял - поясните плиз, что тут удобного в принципе Жигалкина о_о
я не понял вот что: если состовляющие функции "ф" "а,б,с" являются ложными, то как функция "ф" становится истинным
объясните мне это пожалуйста, кто сможет, так что бы я понял, а то я в математике не очень
Внутри функции программист сам решил что он выдаст при любых значениях которые в нее попадут.
Зачем писать слово введение?
да... надо было вступление смотреть там хорошая книга придлогается
Закон исключённого третьего выглядит не так, как написано на слайде, а так
A \/ ~A (~ = отрицание)
Честно, не моё пока. Не могу понять в свои 17 лет, просто не могу. Потом обязательно пойму, а пока отложу в сторону.
Сложно и не понятно. Более тщательный разбор каждого тезиса на примерах просто необходим.
Какое практическое применение этой логики?
3 года нету ответа, интересно реально понять, что дает знание этого ? всего
Это применяется по большей части в синтезе цифровых электронных схем.
В простейшем случае - цифровые логические схемы, которые строятся на основе элементов примитивной логики (И, ИЛИ, НЕ) и реализующие более сложную логику, например суммирование, умножение, перекодирование одного двоичного слова в друге (шифраторы, дешифраторы).
Всё это используется в более сложных цифровых устройствах - триггерах, регистрах, а на их основе строят ещё более сложные элементы цифровой техники - модули память, процессоры, сложные управляющие схемы. Но это специфика не программистов, а разработчиков электроники.
Я не совсем понимаю зачем всё это в реальном программировании на языках высокого уровня? Там обычно достаточно понимать суть простых операций И, ИЛИ, Исключающее ИЛИ.
Это базовый курс, который преподают в университете. На практике используется в проектирование реляционных баз данных к примеру. И потом, человек же должен быть все-сторонне развит, разве нет? В Программирование много чего не важно, история, химия, физика, анатомия и ещё много чего, но что-то из каждой перечисленной области вы то будете знать, это часть мировоззрения и восприятия окружающих вас явлений
Как же я не люблю когда начинают втирать кучу формул, не обьясняя как это может пригодиться в реальной жизни. Думал тут будет что то как делать более оптимизированные циклы с конкретными примерами почему это так. В общем когда столкнусь с реальной задачей где нужно использовать такого рода Логику тогда и вернусь, пока же не вижу никакого смысла забивать голову не используемым(ненужным) знанием.
В программировании
Как преминить на практике??
Я ничё не поняла))
16:41 читает НЕ а И Б - ОШИБКА,
записано НЕ А ИЛИ Б
Чувствую себя школьником, который не понимает зачем он изучает предмет.
Бред, как можно объяснять какую-то тему не объясняя зачем эта тема, где она применяется и какая-то взаимосвязь. Слушаю о каких-то функциях, не понимая нахуя оно мне
Функция это зависимость одного от другого. Функция это абстракция! А любой абстракции мы можем приписать огромное количество свойств используя для разговора об этом придуманную на ходу терминологию под которой не понятно что понимать . Методом настоящей логики является анализ понятий. Функция это настолько примитивное элементарное абстрактное понятие , что тут даже и анализировать нечего. Функция g0 это ловушка для ДЕБИЛОВ, и ещё что бы чем то заполнить ролик. Дополню . Функция -- это научное понятие математики , понятие называют абстракцией , у математической функции , как и у любой абстракции нет никакого собственного содержания , это сокращённая запись какого то реального природного процесса , всё содержание находится в этом процессе , функция -- это иероглиф, функцию можно записать в виде таблицы , или просто предложением . Пусть этот умник расскажет какой процесс описывает эта функция и всё станет ясно . Это всё равно что переставляя буквы в слове ЯБЛОКО пытаться понять как оно устроено , или как оно выглядит если ты никогда его не видел , а прочёл только его название .Любая математическая абстракция это полная бессмыслица , если не знать что под ней понимать и представлять , как например 5 яблок умножить на пять яблок -- полная чуш .
у тебя "дебильное" противоречие))
согласен
Согласен