تابع بولی متقارن

در ریاضیات، یک **تابع بولی متقارن**، یک تابع بولی است که مقدار آن به ترتیب بیت های ورودی آن بستگی ندارد، یعنی فقط به تعداد یک ها (یا صفرها) در ورودی بستگی دارد.

به همین دلیل آنها را به عنوان **توابع شمارش بولی** نیز می شناسند.

تعداد 2^{(n+1)}  تابع بولی n متغیره متقارن وجود دارد. به‌جای استفاده از جدول درستی که به‌طور سنتی برای نمایش توابع بولی به کار می‌رود، می‌توان از یک نمایش فشرده‌تر برای یک تابع بولی متقارن n متغیره استفاده کرد: بردار (n+1) تایی که در آن مقدار عنصر i ام (i=0,...,n) برابر با مقدار تابع برای بردار ورودی با i عدد "۱" است. از نظر ریاضی، توابع بولی متقارن به‌طور یک‌به‌یک با توابعی که n+1 عنصر را به دو عنصرf:\{0,1,...,n\}\rightarrow\{0,1\}  نگاشت می‌کنند، متناظر هستند.

توابع بولی متقارن برای دسته‌بندی مسائل رضایت‌پذیری بولی استفاده می‌شوند.

## موارد خاص
تعدادی از موارد خاص قابل شناسایی هستند:

* **[[تابع اکثریت]]** : مقدار این تابع برای بردارهای ورودی با بیش از n/2 عدد "۱"، برابر با ۱ است.
* **توابع آستانه** : مقدار این تابع برای بردارهای ورودی با k یا بیشتر عدد "۱" (برای یک مقدار ثابت k)، برابر با ۱ است.
* **توابع همه-مساوی و نه-همه-مساوی** : مقدار این توابع برابر با ۱ است زمانی که تمام مقادیر ورودی یکسان باشند(نباشند).
* **توابع شمارش دقیق** : مقدار این توابع برای بردارهای ورودی با دقیقاً k عدد "۱" (برای یک مقدار ثابت k)، برابر با ۱ است.
** **[[:en:One-hot|تابع تک‌فعال]] یا تابع ۱ در n**: مقدار این تابع برابر با ۱ است اگر بردار ورودی دقیقاً یک عدد "۱" داشته باشد.
** **تابع تک‌خاموش** : مقدار این تابع برابر با ۱ است اگر بردار ورودی دقیقاً یک عدد "۰" داشته باشد.
* **توابع هم‌نهشتی** : مقدار این توابع برابر با ۱ است اگر تعداد اعداد "۱" در بردار ورودی با k مود m (برای k, m ثابت) برابر باشد.
* **[[:en:Parity_function|تابع توازن]]** : مقدار این تابع برابر با ۱ است اگر تعداد اعداد "۱" در بردار ورودی فرد باشد.

نسخه‌های n متغیره AND، OR، XOR، NAND، NOR و XNOR نیز توابع بولی متقارن هستند.

## '''ویژگی‌ها'''
در ادامه، f_k
​ نشان‌دهنده مقدار تابع f:\{0,1\}^n \longrightarrow\{0,1 \} است، هنگامی که به بردار ورودی با وزن k اعمال شود.

### وزن
وزن تابع را می‌توان از بردار مقدار آن محاسبه کرد:​

|f|=\sum_{k=0}^n\binom{n}{k}f_k ​

### فرم نرمال جبری
**[[فرم نرمال جبری]]**  یا شامل همه مونو‌میال‌های مربوط به مرتبه خاص m است یا هیچ‌کدام از آن‌ها را شامل نمی‌شود. تبدیل موبیوس \widehat{f} این تابع نیز یک تابع متقارن است. بنابراین، این فرم می‌تواند توسط یک بردار ساده (n+1) بیتی، یعنی بردار ANF \widehat{f}_m توصیف شود. بردارهای ANF و مقدار با رابطه موبیوس به هم مرتبط هستند:

\widehat{f}_m=\bigoplus_{k_2 \subseteq m_2} f_k

که در آن k_2 \subseteq m_2​ شامل تمامی وزن‌های k است که نمایش در مبنای ۲ آن‌ها توسط نمایش در مبنای ۲ از m پوشش داده شده است (بر اساس قضیه لوکاس).

به‌طور مؤثر، یک تابع بولی متقارن n متغیره متناظر با یک تابع بولی معمولی \log(n) متغیره است که بر روی نمایش در مبنای ۲ وزن ورودی عمل می‌کند.

برای مثال، برای توابع سه‌متغیره:​

\widehat{f}_0 = f_0​

\widehat{f}_1= f_0
\oplus f_1​

\widehat{f}_2= f_0 \oplus f_2
​

\widehat{f}_1= f_0
\oplus f_1
\oplus f_2   \oplus f_3​

​تابع اکثریت سه‌متغیره با بردار مقدار (0,0,1,1)، بردار ANF (0,0,1,0) را دارد، یعنی:

​Maj(x,y,z) = xy\oplus xz\oplus yz

### چندجمله‌ای مکعب واحد
ضرایب چندجمله‌ای حقیقی که با تابع در \{0,1\}^n مطابقت دارد، به صورت زیر داده می‌شود:

f^*_m = \sum_{k=0}^m(-1)^\binom{m}{k}f_k

برای مثال، چندجمله‌ای تابع اکثریت سه‌متغیره دارای ضرایب (0,0,1,-2) است:

Maj(x,y,z) = (xy+xz+yz)-2(xyz)

## مثال ها

## جستارهای وابسته

* تابع متقارن

## مراجع

رده:توابع ریاضی
رده:جبر بولی
رده:رمزنگاری