Я пытаюсь понять пункт в моем учебнике по искусственному интеллекту, и мне нужна помощь с этим.
По сути, мой вопрос заключается в том, почему существуют 2 ^ (2 ^ n) функции для n атрибутов, если для определения функции требуется 2 ^ n бит?
Вот параграф из текста(источник: AI: Современный подход, Стюарт Рассел и Питер Норвиг):
Деревья решений хороши для одних функций и плохи для других.Есть ли какое-либо представление, которое эффективно для всех видов функций?К сожалению нет.Мы можем показать это в очень общем виде.Рассмотрим множество всех булевых функций по n атрибутам.Сколько разных функций в этом наборе?Это просто количество различных таблиц истинности, которые мы можем записать, потому что функция определяется таблицей истинности.Таблица истинности имеет 2 ^ n строк, потому что каждый входной регистр описывается n атрибутами.Мы можем рассматривать столбец 'answer' таблицы как 2 ^ n-битное число , которое определяет функцию.Независимо от того, какое представление мы используем для функций, некоторым функциям (фактически, почти всем) потребуется по крайней мере столько битов для представления.
Если для определения функции требуется 2 ^ n бит, то для n атрибутов существует 2 ^ (2 ^ n) различных функций.
Второй вопрос: почемунам нужно 2 ^ n битного числа (см. жирный шрифт выше), я думал, что нам нужно только n битное число, например, если у нас есть 3 атрибута, мы можем определить 2 ^ 3 = 8 функций, таким образом, нам нужно всего 3 бита, чтобы определить все8 функций (000, 001, 010, 011 и т. Д.).
Я долго об этом думал, не знаю, что ускользает от меня, спасибо, что уделили время!