Кіріспе
Функция тек екі мәннің біреуін қайтарады. Математикада Буль функциясы – аргументтері мен нәтижесі екі элементтік жиыннан (әдетте {true, false}, {0,1} немесе {1,1}) мәндерді қабылдайтын функция. Басқа атаулары – әсіресе ескі компьютерлік әдебиеттерде қолданылатын коммутациялық функция және логикада қолданылатын шындық функциясы (немесе логикалық функция). Буль функциялары Буль алгебрасы және коммутациялық теорияның пәні болып табылады. Буль функциясы түрінде келеді, мұнда – Буль домені деп аталады, ал – функцияның арлық саны деп аталатын теріс емес бүтін сан. Егер болса, функция A жиымының тұрақты элементі болады. Бірнеше шығыстары бар Буль функциясы, симметриялық криптографиядағы S-қорапшасы болып табылатын векторлық немесе векторлық Буль функциясы болып табылады. Тұрақты: аргументтеріне қарамастан, әрқашан дұрыс немесе әрқашан жалған. Монотонды: аргумент мәндерінің кез келген комбинациясы үшін аргументті жалғаннан шынға өзгерту тек шығысты жалғаннан шынға өзгертуі мүмкін, бірақ шыннан жалғанға емес. Егер функция осы айнымалыдағы өзгерістерге қатысты монотонды болса, онда ол белгілі бір айнымалыдағы унитатты функция деп аталады. Сызықтық: әр айнымалы үшін айнымалының мәнін өзгерту шындық мәнінде әрқашан өзгеріс тудырады немесе ешқашан тудырмайды (паритет функциясы). Симметриялы: мәні аргументтерінің ретіне тәуелді емес. Бір рет оқылатын: әр айнымалының бір ғана мысалы бар конъюнкция, дизъюнкция және жорамал арқылы өрнектеледі. Теңгерімді: егер оның шындық кестесінде нөлдер мен бірліктер саны тең болса. Функцияның Хамминг салмағы – шындық кестедегі бірліктердің саны. Иісті: оның туындыларының барлығы теңгерімді (автокорреляция спектрі нөлге тең). m-ретті корреляцияға иммунды: егер шығыс ең көп дегенде m аргументтердің барлық (сызықтық) комбинацияларымен корреляцияланбаса. Қашқыш: егер функцияны бағалау үшін барлық аргументтердің мәні әрқашан қажет болса. Буль функциясы Шеффер функциясы болып табылады, егер оны кез келген Буль функциясын құру үшін (композиция арқылы) пайдалануға болады (функционалдық толықтыққа қараңыз). Функцияның алгебралық дәрежесі – оның алгебралық нормалық түріндегі ең жоғары дәрежелі мономиалдың дәрежесі. Тізбек күрделігі Буль функцияларын оларды есептей алатын тізбектердің өлшемі немесе тереңдігі бойынша жіктеуге тырысады.
In mathematics, a Boolean function is a function whose arguments and result assume values from a two element set (usually {true, false}, {0,1} or { 1,1}). Alternative names are switching function, used especially in older computer science literature, and truth function (or logical function), used in logic. Boolean functions are the subject of Boolean algebra and switching theory. A Boolean function takes the form , where is known as the Boolean domain and is a non negative integer called the arity of the function. In the case where , the function is a constant element of A Boolean function with multiple outputs, with is a vectorial or vector valued Boolean function (an S box in symmetric cryptography). Constant: Is always true or always false regardless of its arguments. Monotone: for every combination of argument values, changing an argument from false to true can only cause the output to switch from false to true and not from true to false. A function is said to be unate in a certain variable if it is monotone with respect to changes in that variable. Linear: for each variable, flipping the value of the variable either always makes a difference in the truth value or never makes a difference (a parity function). Symmetric: the value does not depend on the order of its arguments. Read once: Can be expressed with conjunction, disjunction, and negation with a single instance of each variable. Balanced: if its truth table contains an equal number of zeros and ones. The Hamming weight of the function is the number of ones in the truth table. Bent: its derivatives are all balanced (the autocorrelation spectrum is zero)
Correlation immune to mth order: if the output is uncorrelated with all (linear) combinations of at most m arguments
Evasive: if evaluation of the function always requires the value of all arguments
A Boolean function is a Sheffer function if it can be used to create (by composition) any arbitrary Boolean function (see functional completeness)
The algebraic degree of a function is the order of the highest order monomial in its algebraic normal form
Circuit complexity attempts to classify Boolean functions with respect to the size or depth of circuits that can compute them.
Табылған функциялар
Бульдік функция Бульдің кеңейту теоремасын оң және теріс Шаннон кофакторларын (Шаннон кеңейтуі) пайдаланып жіктеуге болады, олар аргументтердің біреуін (нөлге немесе бірге) бекіту нәтижесінде туындайтын (k-1) ary функциялары. Кірістер жиынтығына (сызықтық подпространствоға) сызықтық шектеу қою арқылы алынатын жалпы (k-ary) функциялар субфункциялар деп аталады. Функцияның бір аргументіне қатысты Бульдік туындысы – бұл функцияның шығысы таңдалған кіріс айнымалысына сезімтал болғанда ғана дұрыс болатын (k-1) ary функциясы; ол екі сәйкес кофактордың XOR-ы болып табылады. Туынды мен кофактор Рид-Мюллер кеңейтуінде қолданылады. Бұл ұғымды dx бағытындағы k-ary туындысы ретінде кеңейтуге болады, ол функцияның x және x + dx нүктелеріндегі айырмасы (XOR) арқылы есептеледі. Сәйкес Бульдік функциялар өздерінің Мёбиус түрлендіруіне тең, яғни олардың шындық кестесіндегі (минимальды мүшелердегі) мәндері алгебралық (мономиалдық) коэффициенттерімен сәйкес келеді. k аргументі бар 2^2^(k-1) сәйкес функция бар.
Криптографиялық талдау
Бульдік функцияның Уолш түрлендіруі – нақты сандық функциялардың Фурье түрлендіруі арқылы гармонияларға жіктелуімен салмақтас, сызықтық функцияларға жіктелу коэффициенттерін беретін k-арлық бүтін сандық функция. Оның квадраты – қуат спектрі немесе Уолш спектрі. Жеке бит вектордың Уолш коэффициенті – сол бит пен Бульдік функцияның нәтижесі арасындағы корреляцияның өлшемі. Функцияның сызықтығы деп максималды (абсолюттік мәні бойынша) Уолш коэффициенті белгілі. Автокорреляция коэффициенттері дифференциалдық криптоанализде маңызды рөл атқарады. Бульдік функцияның Уолш коэффициенттері мен оның автокорреляция коэффициенттері Винер-Хинчин теоремасының баламасымен байланысты, онда автокорреляция және қуат спектрі Уолш түрлендіруінің жұбы екені айтылады. Компоненттердің Уолш түрлендірулерінің жиынтығы – Сызықтық жуықтау кестесі (LAT) немесе корреляциялық матрица; ол кіріс және шығыс биттерінің әртүрлі сызықтық комбинациялары арасындағы корреляцияны сипаттайды. Компоненттердің автокорреляция коэффициенттерінің жиынтығы – автокорреляция кестесі, ал кіріс және шығыс биттерінің айырмашылықтары арасындағы корреляцияны тізімдейтін, кеңінен қолданылатын Айырмашылықтар тарату кестесіне (DDT) (сонымен қатар қараңыз: S-қорап).
Гиперкубтың бірлігі
Кез келген Буль функциясы нақты доменге , шындық кестесі мәндерін индикатор полиномиалдармен көбейту арқылы құрастырылған көп сызықты полиномиал арқылы бірегей түрде кеңейтілуі (интерполяциялануы) мүмкін: мысалы, екілік XOR функциясының кеңейтілуі тең. Басқа мысалдар – жосықтау, ЖӘНЕ және ИЛИ. Барлық операндар тәуелсіз болған кезде (ортақ айнымалылары жоқ болса), функцияның полиномиялық түрін Буль формуласындағы операторлардың полиномиалдарын қайта-қайта қолдану арқылы табуға болады. Коэффициенттер 2 модулі бойынша есептелгенде алгебралық қалыпты форма (Жегалькин полиномы) алынады. Полиномиалдың коэффициенттерінің тікелей формулаларын тиісті туындыны есептеу арқылы алуға болады: бұл біттік векторлардың ішінара реттелген жиынының Мёбиус инверсиясы ретінде жалпыланады: мұнда біттік вектордың салмағын білдіреді. 2 модулі бойынша алынғанда, бұл Бульдік Мёбиус түрлендіруі, алгебралық қалыпты форманың коэффициенттерін береді: Екі жағдайда да сома m-мен жабылатын барлық біттік векторлар бойынша алынады, яғни a-ның "бірлік" біттері m-ның "бірлік" біттерінің ішкі жиынын құрайды. Домен n өлшемді гиперкубпен шектелгенде, полиномиал Бульдік функция f-тің жеке ықтималдықтары бар n тәуелсіз кездейсоқ (Бернулли) айнымалыларына қолданғанда оң нәтиже ықтималдығын береді. Бұл фактінің ерекше жағдайы – паритет функциялары үшін жинақталу леммасы. Буль функциясының полиномиялық түрін оның тұманды логикаға табиғи кеңейтілуі ретінде де пайдалануға болады.
When the domain is restricted to the n dimensional hypercube , the polynomial gives the probability of a positive outcome when the Boolean function f is applied to n independent random (Bernoulli) variables, with individual probabilities x. A special case of this fact is the piling up lemma for parity functions. The polynomial form of a Boolean function can also be used as its natural extension to fuzzy logic.
Симметриялық гиперкубта
Көбінесе Бульдік домен , жалған ("0") 1-ге, ал дұрыс ("1") 1-ге сәйкес келеді (Бул функцияларының талдауын қараңыз). Одан кейін сәйкес келетін көпмүше мына түрде беріледі: Симметриялық Бульдік доменді пайдалану талдаудың кейбір аспектілерін жеңілдетеді, себебі жоққа шығару 1-ге көбейтуге сәйкес келеді, ал сызықтық функциялар мономиалдар болып табылады (XOR – көбейту). Осы көпмүшелік форма функцияның Уолш түрлендіруіне (осы контексте Фурье түрлендіруі деп те аталады) сәйкес келеді (жоғарыда қараңыз). Бұл көпмүше стандартты Бульдік домендегідей статистикалық интерпретацияға ие, бірақ қазір ол күтілетін мәндермен жұмыс істейді (мысалы, жинақтау леммасын қараңыз).
Қолданбалар
Буль функциялары күрделілік теориясы мәселелерінде және цифрлық компьютерлерге арналған процессорларды жобалауда маңызды рөл атқарады, олар логикалық қақпаларды қолдана отырып электрондық тізбектерде іске асырылады. Буль функцияларының қасиеттері криптографияда, әсіресе симметриялық кілт алгоритмдерін жобалауда өте маңызды (қолдану қойындысын қараңыз). Ынтымақтастық ойын теориясында монотонды Буль функциялары қарапайым ойындар (дауыс беру ойындары) деп аталады; бұл түсінік әлеуметтік таңдау теориясының мәселелерін шешуге қолданылады.