Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Множества и функции Функции

Обычно функции соответствуют некому абстрактному правилу. Оно необязательно должно быть выразимым или даже таким, которое вы можете себе представить.

Но бывают случаи, когда правила не такие абстрактные. Как и любой другой математический объект, функцию можно представить в виде набора упорядоченных пар — то есть множества. В этом уроке мы подробнее разберем понятие функции как множества и узнаем, как функции работают в этом случае.

Функции в виде множеств

Когда мы говорим о функции, мы имеем в виду два свойства:

  • Каждому входу соответствует некоторый выход

  • Каждый вход соответствует только одному выходу

Чтобы лучше понять свойства функции в виде множества, рассмотрим такое определение:

  • Пусть и — множества

  • Функция с областью и кодоменом — это подмножество такое, что для каждого существует ровно один вместе с

  • F также называется функцией от к

  • Функция от к часто обозначается

Обратите внимание, что функция может быть смоделирована множеством. Объясним подробнее, что это значит.

Сам термин «функция» — это сокращение от «функциональное отношение». Ее можно рассматривать как частный случай отношения, то есть подмножества .

По сути, это просто перевыражение как . Таким образом, обычная картина «функция — это правило» эквивалентна представлению о подмножестве . В таком случае множество обладает особыми свойствами, которые делают его функцией.

При этом отношения необязательно должны быть на одном и том же множестве. Однако когда математики говорят «отношение на », они имеют в виду просто сокращение от «отношение от к ».

Почему функции — не множества

Теперь мы примерно понимаем, как представлять или моделировать функции с помощью множеств. И это правильный способ. Но нужно четко понимать, что функции — это не множества. Вот три причины:

Причина 1, самая главная. Отождествлять функцию с множеством нельзя, потому что это было бы путаницей типов. Функция отображает некоторый объект в объект. Другими словами, функции не насыщены — то есть имеют один или несколько слотов, ожидающих заполнения. Например, может быть заполнение единственного слота в унарной числовой функции.

В современной терминологии функции имеют присущую им четкость. В отличие от них, множества не являются ненасыщенными, не имеют слотов для заполнения, не имеют четкости, не занимаются отображением. Поэтому функции — это не множества.

Причина 2. Можно было бы посчитать, что двоичная функция соответствует некоторому множеству упорядоченных пар , а затем обработать упорядоченные пары. Но есть проблема — на обоих этапах придется выбирать из двух возможностей:

  • Использовать множество упорядоченных пар

  • Выбрать другое теоретико-множественное представление упорядоченных пар

Обычная ассоциация функции с множеством предполагает произвольный выбор, поэтому не существует единственного правильного способа сделать это. Ни один способ не может полностью раскрыть, чем на самом деле является функция. Мы занимаемся представлением — то есть действуем относительно некоторой выбранной схемы представления.

Причина 3. Некоторые функции слишком велики, чтобы иметь соответствующие множества. Возьмем функцию, которая отображает множество на его синглтон. Упорядоченных пар слишком много, чтобы образовать множество. Если функция слишком велика, чтобы иметь соответствующее множество, она не может быть этим множеством.

Рассмотрим тот же вопрос, но с другого конца. Функцию можно рассматривать как правило присвоения уникального значения каждому . Построим множество всех упорядоченных пар :

Если , то нужно, чтобы каждый имел значение .

Поэтому для каждого существует упорядоченная пара в этом множестве для некоторого .

Нам также нужно, чтобы была однозначно определена по . Это важно, чтобы всякий раз, когда множество содержит и , мы имели .

Таким образом, для каждого существует единственное , как мы и требуем.

Упорядоченные пары можно рассматривать как элементы , так что . Если у нас есть набор упорядоченных пар с требуемыми свойствами, мы можем работать в обратном направлении и увидеть, что это возвращает нашу первоначальную идею функции.

С этого момента мы не будем определять область и кодомен функции как множества. Будем считать, что обозначение уже подразумевает это.

Как это работает на практике

Теперь посмотрим, как выглядят функции в виде множества. Для начала возьмем простой пример — факториальную функцию . Она представляется в виде множества и записывается так:

Рассмотрим более сложный пример функции с множеством.

Предположим, что класс состоит из трех учеников. Вася сидит на втором стуле в первом ряду, Глеб сидит на шестом стуле в четвертом ряду, а Настя сидит на стуле в ряду. Для этого класса функция представляет собой множество:

Теперь обозначим дни недели:

Пусть

В таком случае существует функция:

Бинарное отношение, которое определяется этой функцией, состоит из следующих упорядоченных пар:

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

Если каждый элемент множества связан с одним и только одним элементом другого множества, то такое отношение квалифицируется как функция. Функция — это особый случай отношения, когда никакие две упорядоченные пары не могут иметь один и тот же первый элемент.

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

В зависимости от вида отношений, которые элементы двух множеств имеют друг с другом, существует в основном четыре типа функций:

  • «Один к одному» (инъективная): Для каждого элемента в области существует один и только один элемент в диапазоне

  • «Многие к одному»: Два или более элементов из домена отображаются на одни и те же элементы в диапазоне

  • Онто-функция (суръективная): Каждый элемент диапазона отображен на элемент в домене

  • «Один-к-одному» и онто (биективная): Функция, которая является функцией «один-к-одному» и онто-функцией одновременно.

Далее в курсе мы рассмотрим каждую функцию подробнее.

Выводы

В этом уроке мы познакомились с функциями как множествами. Как и любой другой математический объект, функцию можно представить в виде набора упорядоченных пар — то есть множества. Также мы узнали четыре вида типа таких функций: «Один к одному», «Многие к одному», Онто-функция и Биективная функция.


Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Об обучении на Хекслете

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»
Изображение Тото

Задавайте вопросы, если хотите обсудить теорию или упражнения. Команда поддержки Хекслета и опытные участники сообщества помогут найти ответы и решить задачу