ستاره کلین


در منطق ریاضی و علوم کامپیوتر، ستارهٔ کلین (یا عملگر کلین یا کلین کلوژر) یک عمل یگانی روی مجموعه ای از رشته ها و یا مجموعه ای از سمبل ها یا کاراکتر ها است. در ریاضیات عموما به عنوان ساختار مونوئید ازاد شناخته می شود. اعمال ستاره ی کلین بر روی مجموعه ی به صورت نوشته می شود. ستاره ی کلین به طور گسترده برای عبارت منظم استفاده می شود، که در واقع این زمینه ای بود که در آن توسط استیون کول کلینی برای تشریح برخی از اتوماتاها معرفی شده بود، که در آن به معنای "صفر یا تعدادی بیشتر تکرار" است.

  1. اگر مجموعه ای از رشته ها باشد، آنگاه کوچک ترین ابرمجموعه از است که شامل رشته ی تهی و همچنین تحت عمل الحاق (علوم رایانه) بسته باشد.
  2. اگر مجموعه ای از کاراکتر ها یا سمبل ها باشد، آنگاه مجموعه تمام رشته ها بر روی سمبل های داخل و رشته ی تهی است.

مجموعه ی را می توان به عنوان مجموعه ای که شامل رشته ی تهی و همه رشته های با طول متناهی که توسط الحاق رشته های دلخواه در (که در آن می توان از یک عضو چند بار استفاده کرد) نیز توصیف کرد. اگر مجموعه ی تهی و یا مجموعه ی تک عضوی باشد، آنگاه و اگر هر مجموعه متناهی یا مجموعه شمارا نامتناهی دیگر باشد، آنگاه یک مجموعه ی شمارا نامتناهی خواهد بود. در نتیجه هر زبان صوری بر روی الفبا که متناهی یا شمارای متناهی است، شمارا خواهد بود زیرا زیر مجموعه از مجموعه ی شمارا نامتناهی است.

عملگر ها برای بازنویسی (ریاضی) دستور های زایشی استفاده می شوند.

تعریف و نمادگذاریویرایش

اگر مجموعه ی   را داشته باشیم،   (زبانی که تنها شامل رشته ی تهی است) و   تعریف می شوند و همچنین   برای هر   به صورت بازگشتی تعریف می شود. اگر   یک زبان فرمال باشد، انگاه  ، توان iام مجموعه ی  ، کوتاه شده i بار الحاق مجموعه ی   با خودش است. یعنی   در واقع مجموعه ی تمام رشته هایی است که می توانند به صورت الحاق i رشته از   نمایش داده شوند.

تعریف ستاره کلین بر روی   به صورت زیر است:

 

این به این معنا است که ستاره ی کلین یک عمل یگانی خودتوان است یعنی   برای هر مجموعه دلخواه   از رشته ها یا کاراکتر ها، به طوری که   به ازای هر  .

مثبت کلینویرایش

در برخی از مطالعات زبان های صوری (به عنوان مثال تئوری خانواده زبان های انتزاعی) نوعی متفاوت از عملیات ستاره کلین، به نام مثبت کلین استفاده می شود. مثبت کلین عبارت   را از اجتماعی که در بالل آمده بود حذف می کند، به عبارت دیگر مثبت کلین بر روی مجموعه ی   به صورت زیر است:

 

یا

. 

مثال هاویرایش

مثالی از اعمال ستاره ی کلین بر روی مجموعه ای از رشته ها:

{"ab","c"}* = { ε, "ab", "c", "abab", "abc", "cab", "cc", "ababab", "ababc", "abcab", "abcc", "cabab", "cabc", "ccab", "ccc", ...}.

مثالی از اعمال مثبت کلین بر روی مجموعه ای از کاراکتر ها:

{"a", "b", "c"}+ = { "a", "b", "c", "aa", "ab", "ac", "ba", "bb", "bc", "ca", "cb", "cc", "aaa", "aab", ...}.

اعمال ستاره ی کلین بر همان مجموعه از کاراکتر ها:

{"a", "b", "c"}* = { ε, "a", "b", "c", "aa", "ab", "ac", "ba", "bb", "bc", "ca", "cb", "cc", "aaa", "aab", ...}.

اعمال ستاره ی کلین بر روی مجموعه ی تهی:

* = {ε}.

اعمال مثبت کلین بر روی مجموعه ی تهی:

+ = ∅ ∅* = { } = ∅

که در آن الحاق شرکت‌پذیر و اما دارای خاصیت جابه‌جایی نیست.

اعمال ستاره ی کلین و مثبت کلین بر روی مجموعه ی تک عضوی شامل رشته ی تهی:

اگر   باشد، آنگاه   برای هر i، بنابراین  .

تعمیمویرایش

رشته هایی از یک مونوئید و الحاق به عنوان عملگر دوتایی و ε به عنوان عضو همانی. ستاره ی کلین نه تنها برای رشته ها بلکه برای هر مونوئیدی تعریف می شود.

به طور دقیق تر،اگر (M, ⋅) یک مونوئید و S آنگاه *S کوچک ترین زیرمونوئیدی از M است که شامل S می باشد. به عبارت دیگر، *S شامل عضو خنثی M، مجموعه ی S، به طوری که اگر* x,yS ، آنگاه *xyS.

پانوشته‌هاویرایش

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

منابعویرایش

  • Sudkamp, T. A. , An Introduction to the Theory of Computer Science, Languages and Machines, 3rd ed. , Pearson Education, Inc. , 2006. ISBN 0-321-32221-5 [۱]