Professional Documents
Culture Documents
Theory of Computation
د.اﯾﻤﻦ ﺣﻤﺎرﺷﮫ
1
اﻟﺤﻮﺳﺒﺔ Theory of Computation
ﻛﻠﻤﺔ " "Computingأﺳﺎﺳًﺎ ﻛﺎﻧﺖ ﺗﺴﺘﺨﺪم ﻣﻊ ﻣﺎ ﻟﮫ ﻋﻼﻗﺔ ﺑﺎﻟﻌﺪ و اﻟﺤﺴﺎب )(calculating counting
إﻟﻰ andأي اﻟﻌﻠﻢ اﻟﺬي ﯾﺘﻌﻠﻖ ﺑﺈﺟﺮاء اﻟﺤﺴﺎﺑﺎت اﻟﺮﯾﺎﺿﯿﺔ.
إﻟﻰ
اﻟﺘﻲ ﺗﺆﺳﺲ ﻟﻌﻠﻮم اﻟﺤﺎﺳﺐ.
اﻟﺤﻮﺳﺒﺔ ) : (Computationﯾﻤﻜﻦ ﺗﻌﺮﯾﻔﮭﺎ ﻋﻠﻰ أﻧﮭﺎ ﺳﻠﺴﻠﺔ اﻟﺨﻄﻮات اﻟﻮﺳﯿﻄﺔ intermediate steps
.و أو ﻣﺴﺄ ﻟﺔ ﻣﺎ اﻟﺘﻲ ﻧﺴﺘﺨﺪﻣﮭﺎ ﻓﻲ اﻧ
ﻋﻠﻰ أﻧﮭﺎ ﺧﻮارزﻣﯿﺔ algorithmﻧﻘﻮم ﺑﮭﺎ ﻟﺘﺤﻮﯾﻞ ﻣﺪﺧﻼت inputﻣﺴﺄﻟﺔ ﻣﺎ إﻟﻰ ﻣﺨﺮﺟﺎت outputsأو ﻧﺘﺎﺋﺞ
computation أن اﻟ ﺣﺔ(.
أي ﺣﻠﻮلﻟ ﻠﻤﺴ ﺄﻟﺔ ا ﻟﻤﻄﺮو )
.
وﻛﻤﺎ ھﻮ ﻣﻌﺮوف ﻓﻲ أي ﺧﻮارزﻣﯿﺔ ھﻨﺎك ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻌﻤﻠﯿﺎت اﻟﺤﺴﺎﺑﯿﺔ و اﻟﻤﻨﻄﻘﯿﺔ اﻟﻤﺘﺴﻠﺴﻠﺔ ,وﻧﺘﯿﺠﺔ ﻛﻞ
,
أو اﻻﻧﺘﻘﺎل إﻟﻰ إﻟﻰ ﺷﺮوط اﻻﻧﺘﻘﺎل ﻣﻦ ﻋﻤﻠﯿﺔ ﻷﺧﺮى و ﻛﺬﻟﻚ
ﺗﺎﻟﯿﺔ )اﻟﻘﻔﺰ إﻟﻰ أﻋﻠﻰ و إﻟﻰ أﺳﻔﻞ(.
ﻟ ﻤﺴﺄﻟﺔ ﻣﺎ اﺑﺘﺪاء
ﺑﺎﺳﺘﺨﺪام ﺧﻮارزﻣﯿﺔ .وﯾﻤﻜﻦ أن ﯾﺸﻤﻞ ھﺬا أﯾﻀﺎ إﯾﺠﺎد اﻟﺨﻮارزﻣﯿﺎت اﻟﻤﻨﺎﺳﺒﺔ ﻟﺤﻞ ﻧﻤﻂ ﻣﻌﯿﻦ ﻣﻦ اﻟﻤﺴﺎﺋﻞ .
Algorithms Inputs
Computability Theory .
اﻟﺘﻌﻘﯿﺪ اﻟﺤﺴﺎﺑﻲ . Computational Complexity Theory
computational ﻛ
أن , complexity theory ,ﺣﯿﺚ أن
ﺳﻮب.
ﺑﺎﺳﺘﺨﺪام اﻟﺤﺎ ﺳﺎ ﻟﻠﺤﻞ solvable
أﺳﺎ ﻛﺎﻧﺖ إذا
2
: Computational Complexityإﺣﺪى أﺟﺰاء
أو ﻣﺎ ) .و
أن (,و ﯾﻘﺎﺑﻠﮭﺎ ﻣﻦ اﻟﻮﻗﺖ ﯾﻠﺰم ﻟﺤﻞ اﻟﻤﺴﺄﻟﺔ ( و اﻟﻤﻜﺎن )
ﺑﺎﻻﻋﺘﺒﺎر ﻣﻮارد أﺧﺮى ,ﻣﺜﻞ :ﻛﻢ ﻋﺪد اﻟﻤﻌﺎﻟﺠﺎت اﻟﻤﺘﻮازﯾﺔ اﻟﻼزﻣﺔ ﻹﻧﺠﺎز اﻟﺤﺴﺎب ﺑﺎﺳﺘﺨﺪام ﺑﺮﻣﺠﺔ ﻣﺘﻮازﯾﺔ.
ﻓﻲ ﻧﻈﺮﯾﺔ اﻟﺘﺤﺴﯿﺐ ،ﺗﺴﺘﺨﺪم ﻏﺎﻟﺒﺎ اﻵﻻت اﻟﻤﺠﺮدة ﺿﻤﻦ اﻟﺘﺠﺎرب اﻟﻔﻜﺮﯾﺔ اﻟﻤﺘﻌﻠﻘﺔ ﺑﺎﻟﺤﺴﻮﺑﯿﺔ و ﺗﺤﻠﯿﻞ
ﺗﻌﻘﯿﺪ اﻟﺨﻮارزﻣﯿﺎت )ﻧﻈﺮﯾﺔ اﻟﺘﻌﻘﯿﺪ اﻟﺤﺴﺎﺑﻲ ( .ﺗﻌﺘﺒﺮ اﻵﻟﺔ اﻟﻤﺠﺮدة اﻟﻨﻤﻮذﺟﯿﺔ ﺗﺘﺄﻟﻒ ﻣﻦ دﺧﻞ و ﺧﺮج و ﻣﺠﻤﻮﻋﺔ
ﻋﻤﻠﯿﺎت ﻣﺼﺮح ﺑﮭﺎ ﺗﺴﺘﻌﻤﻞ ﻟﺘﺤﻮﯾﻞ اﻟﺪﺧﻞ إﻟﻰ ﺧﺮج .أﻓﻀﻞ اﻷﻣﺜﻠﺔ و أﻛﺜﺮھﺎ ﺷﯿﻮﻋﺎ ھﻮ آﻟﺔ ﺗﻮرﯾﻨﻎ .
ﻟﺬﻟﻚ ﻋﻨﺪ إﻧﺠﺎز دراﺳﺔ ﻣﻨﮭﺠﯿﺔ ﻟﻠﺘﺤﺴﯿﺐ ،ﯾﺸﻜﻞ ﻋﻠﻤﺎء اﻟﺤﺎﺳﻮب ﻧﻤﺎذج رﯾﺎﺿﯿﺔ ﻣﺠﺮدة ﻣﻦ اﻟﺤﻮاﺳﯿﺐ
ﺗﺪﻋﻰ ﻧﻤﺎذج اﻟﺤﻮﺳﺒﺔ . models of computationﺗﻮﺟﺪ ﻋﺪة أﻧﻤﺎط ﻣﻦ ھﺬه اﻟﻨﻤﺎذج ﻗﯿﺪ اﻻﺳﺘﻌﻤﺎل ،ﻟﻜﻦ
أھﻤﮭﺎ وأﻛﺜﺮھﺎ ﺷﯿﻮﻋﺎ ﻛﻤﺎ ذﻛﺮﻧﺎ ھﻮ آﻟﺔ ﺗﻮرﯾﻨﻎ . Turing machineوﯾﻤﻜﻦ أن ﻧﺘﺼﻮر آﻟﺔ ﺗﻮرﯾﻨﻎ ﻋﻠﻰ أﻧﮭﺎ
ﺣﺎﺳﻮب ﻣﻨﺰﻟﻲ ﻣﻊ ﺳﻌﺔ ذاﻛﺮة ﻣﺤﺪودة ﺑﺤﯿﺚ ﻻ ﯾﻤﻜﻦ اﻟﻮﺻﻮل إﻻ إﻟﻰ ﻗﻄﺎﻋﺎت ﺻﻐﯿﺮة ﻣﺘﻔﺮﻗﺔ ﻣﻦ ھﺬه اﻟﺬاﻛﺮة.
وﺗﻌﺘ ﺒﺮ آﻻت ﺗﻮرﯾﻨﻎ ﺳﮭﻠﺔ اﻟﺘﺼﻮر و اﻟﺘﺼﻤﯿﻢ و ﻣﻦ اﻟﻤﻤﻜﻦ ﺗﺤﻠﯿﻠﮭﺎ و دراﺳﺘﮭﺎ ﻟﻠﺒﺮھﻨﺔ ﻋﻦ اﻟﻨﺘﺎﺋﺞ اﻟﻤﺘﻮﻗﻌﺔ
ﺑﺎﻟﺘﺎﻟﻲ ﺗﻤﺜﻞ ﻧﻤﻮذﺟﺎ ﻣﻌﻘﻮﻻ ﻟﻌﻤﻠﯿﺔ اﻟﺤﻮﺳﺒﺔ .
ﻛﻤﺎ ﯾﻤﻜﻦ ﺗﻌﺮﯾﻒ آﻻت ﻣﺠﺮدة أﻛﺜﺮ ﺗﻌﻘﯿﺪا ﺑﻤﺠﻤﻮﻋﺔ ﺗﻌﻠﯿﻤﺎت أوﺳﻊ ،ﻣﺜﻞ اﻟﻤﺴﺠﻼت و ﻧﻤﺎذج ذاﻛﺮة اﻟﺤﺎﺳﻮب
اﻟﻤﺨﺘﻠﻔﺔ .وأﺣﺪ أﻛﺜﺮ اﻟﻨﻤﺎذج ﺷﯿﻮﻋﺎ و ﻣﺸﺎﺑﮭﺔ ﻟﻠﺤﺎﺳﻮب ﻓﻲ وﺿﻌﮫ اﻟﺤﺎﻟﻲ ﯾﺪﻋﻰ ﻧﻤﻮذج ، RAMاﻟﺬي ﯾﺴﻤﺢ
ﺑﻮﺻﻮل ﻋﺸﻮاﺋﻲ ﻟﻤﻮاﻗﻊ اﻟﺬاﻛﺮة اﻟﻤﻔﮭﺮﺳﺔ .
وﻋﻨﺪﻣﺎ ﺗﻜﺒﺮ ﻓﻮارق اﻷداء ﺑﯿﻦ اﻟﻤﺴﺘﻮﯾﺎت اﻟﻤﺨﺘﻠﻔﺔ ﻟﻠﺬاﻛﺮة اﻟﻤﺨﺒﺄة )اﻟﻜﺎش( ، cache memoryﺗﺰداد
أھﻤﯿﺔ اﻟﻨﻤﺎذج اﻟﺤﺴﺎﺳﺔ ﻟﻠﻜﺎش ﻣﺜﻞ ﻧﻤﻮذج اﻟﺬاﻛﺮة اﻟﺨﺎرﺟﯿﺔ . external-memory model
ﻋﻤﻠﯿﺎت اﻟﺤﻮﺳﺒﺔ Computationsﯾﺘﻢ ﺗﺼﻤﯿﻤﮭﺎ ﻟﻤﻌﺎﻟﺠﺔ اﻟﻤﻌﻠﻮﻣﺎت اﻟﻤﺨﺘﻠﻔﺔ ﺣﯿﺚ ﯾﻤﻜﻦ أن ﺗﻜﻮن ھﺬه
اﻟﺤﺴﺎﺑﺎت ﺑﺴﯿﻄﺔ ﻛﺤﺴﺎب ﻛﻢ ﯾﺴﺘﻐﺮق ﻣﻦ اﻟﻮﻗﺖ ﻗﻄﻊ ﻣﺴﺎﻓﺔ ﻣﺎ ﺑﺎﻟﺴﯿﺎرة ﻛﻤﺎ ﯾﻤﻜﻦ أن ﺗﻜﻮن ﻣﻌﻘﺪة ﻛﺎﻟﺤﺴﺎﺑﺎت
اﻟﺘﻲ ﺗﺠﺮى ﻟﻠﺘﻨﺒﺆ ﺑﺎﻷﺣﻮال اﻟﺠﻮﯾﺔ وﻣﻌﺮﻓﺔ ﺣﺎﻟﺔ اﻟﻄﻘﺲ.
وﺗﮭﺪف دراﺳﺔ اﻟﺤﻮﺳﺒﺔ إﻟﻰ اﻟﻮﺻﻮل ﻟﻔﮭﻢ ﻋﻤﯿﻖ ﻟﺨﺼﺎﺋﺺ وﻣﯿﺰات اﻟﻌﻤﻠﯿﺎت اﻟﺤﺴﺎﺑﯿﺔ وھﺬا اﻟﻔﮭﻢ اﻟﻌﻤﯿﻖ
ﯾﻤﻜﻦ أن ﯾﺴﺘﺨﺪم ﻓﻲ اﻟﺘﻨﺒﺆ ﺑﻤﺪى ﺻﻌﻮﺑﺔ اﻟﻌﻤﻠﯿﺎت اﻟﺤﺴﺎﺑﯿﺔ اﻟﻤﻄﻠﻮب إﺟﺮاؤھﺎ وذﻟﻚ ﻣﻦ اﺟﻞ اﺧﺘﯿﺎر اﻟﻄﺮق
واﻟﻮﺳﺎﺋﻞ اﻟﻤﻨﺎﺳﺒﺔ ﻟﺘﻄﻮﯾﺮ ﻟﺘﺴﮭﯿﻞ ﻋﻤﻠﯿﺔ ﺗﺼﻤﯿﻢ ھﺬه اﻟﻄﺮق.
3
وﺗﻈﮭﺮ دراﺳﺔ اﻟﺤﻮﺳﺒﺔ أن ھﻨﺎك أﻧﻮاع ﻣﻦ اﻟﻤﺴﺎﺋﻞ ﻻ ﯾﻤﻜﻦ ﺣﻠﮭﺎ )أي ﻏﯿﺮ ﻗﺎﺑﻠﺔ ﻟﻠﺤﻞ( .أﻣﺎ اﻟﻤﺴﺎﺋﻞ اﻟﻘﺎﺑﻠﺔ
ﻟﻠﺤﻞ ﻓﺈن ﺑﻌﻀﮭﺎ ﯾﺘﻄﻠﺐ ﻋﻤﻠﯿﺎ ﻣﻮارد ﻻ ﯾﻤﻜﻦ ﺗﻮﻓﯿﺮھﺎ )ﻣﺜﻼ ﻣﻼﯾﯿﻦ اﻟﺴﻨﯿﻦ ﻣﻦ وﻗﺖ اﻟﺤﺴﺎب( .وﻣﻊ أن ھﺬا ﻗﺪ
ﯾﺪﻋﻮ إﻟﻰ اﻹﺣﺒﺎط إﻻ أن ﻣﺤﺎوﻟﺔ ﺗﻮﻓﯿﺮ ھﺬه اﻟﻤﻮارد ﻟﮫ اﯾﺠﺎﺑﯿﺔ ﻛﺒﯿﺮة ﻓﻲ اﻟﺘﺤﺬﯾﺮ ﻣﻦ ﻣﻐﺒﺔ ﻣﺤﺎوﻟﺔ ﺣﻞ ھﻜﺬا ﻧﻮع
ﻣﻦ اﻟﻤﺴﺎﺋﻞ وھﺬا ﻻ ﯾﺘﺤﻘﻖ إﻻ ﻣﻦ ﺧﻼل دراﺳﺔ اﻟﺤﻮﺳﺒﺔ اﻟﺘﻲ ﺗﺴﺎﻋﺪ ﻓﻲ ﺗﺤﺪﯾﺪ ھﺬا اﻟﻨﻮع ﻣﻦ اﻟﻤﺴﺎﺋﻞ ﻛﻤﺎ ﺗﺴﺎﻋﺪ
ﻓﻲ إﯾﺠﺎد اﻷدوات اﻟﻤﻨﺎﺳﺒﺔ ﻟﺘﺤﺪﯾﺪ اﻟﻤﺴﺎﺋﻞ اﻟﺘﻲ ﯾﻤﻜﻦ ﺣﻠﮭﺎ ﻋﻤﻠﯿﺎ وﺑﺸﻜﻞ ﻣﻨﺎﺳﺐ ﺑﺎﻹﺿﺎﻓﺔ إﻟﻰ إﯾﺠﺎد أدوات
ﺗﺼﻤﯿﻢ ھﺬه اﻟﺤﻠﻮل .ﻛﻤﺎ ﯾﻤﻜﻦ ﻣﻦ ﺧﻼل اﻟﺤﻮﺳﺒﺔ ﺗﻄﻮﯾﺮ ﻣﺼﻄﻠﺤﺎت دﻗﯿﻘﺔ ﻣﻌﺮﻓﺔ ﺟﯿﺪا ﻟﻠﻮﺻﻮل إﻟﻰ إدراك أو
ﻣﻌﺮﻓﺔ ﻣﺴﺒﻘﺔ ﻋﻦ ھﺬه اﻟﻤﺴﺎﺋﻞ وﻃﺮق ﺣﻠﮭﺎ.
إن اﻟﻘﺪرة ﻋﻠﻰ ﺗﻤﺜﯿﻞ اﻟﻤﻌﻠﻮﻣﺎت ﯾﻌﺘﺒﺮ أﻣﺮا ﺣﺎﺳﻤﺎ ﻓﻲ ﻋﻤﻠﯿﺔ ﺗﺒﺎدل وﻣﻌﺎﻟﺠﺔ ھﺬه اﻟﻤﻌﻠﻮﻣﺎت .ﻟﺬﻟﻚ ﻋﻨﺪﻣﺎ
اﺣﺘﺎﺟﺖ اﻟﻤﺠﺘﻤﻌﺎت اﻟﺒﺸﺮﯾﺔ ﻟﺘﺒﺎدل اﻟﻤﻌﻠﻮﻣﺎت ﺣﺘﻰ ﺗﺘﻤﻜﻦ ﻣﻦ اﻟﺘﻮاﺻﻞ ﻓﯿﻤﺎ ﺑﯿﻨﮭﺎ ﻓﺈﻧﮭﺎ ﻗﺎﻣﺖ ﺑﺈﯾﺠﺎد ﻟﻐﺎت ﻣﺤﻜﯿﺔ
ﻟﺘﺤﻘﯿﻖ اﻟﺘﻮاﺻﻞ اﻟﻤﻨﺸﻮد وﻋﻨﺪﻣﺎ أﺻﺒﺤﺖ ﺑﺤﺎﺟﺔ إﻟﻰ ﻣﺴﺘﻮى أﻋﻠﻰ واﻋﻘﺪ ﻣﻦ اﻟﺘﻮاﺻﻞ ﻗﺎﻣﺖ ﺑﺘﻄﻮﯾﺮ اﻟﻜﺘﺎﺑﺔ
. writing
ﻓﺎﻟﻠﻐﺎت اﻟﻤﺨﺘﻠﻔﺔ ﻓﻲ ﺷﻜﻠﮭﺎ اﻟﻤﺤﻜﻲ ﺗﻌﺘﻤﺪ ﻋﻠﻰ ﻣﺠﻤﻮﻋﺎت ﻣﻦ اﻷﺻﻮات اﻟﺮﺋﯿﺴﯿﺔ اﻟﻤﺤﺪودة ﻛﺄﺳﺎس ﻟﻠﻐﺔ .أﻣﺎ
اﻟﻜﻠﻤﺎت ﻓﯿﻤﻜﻦ ﺗﻌﺮﯾﻔﮭﺎ ﻋﻠﻰ أﻧﮭﺎ ﻋﺒﺎرة ﻋﻦ ﻣﺘﻮاﻟﯿﺎت ﻣﺤﺪودة ﻣﻦ ھﺬه اﻷﺻﻮات .أﻣﺎ اﻟﺠﻤﻞ واﻟﻌﺒﺎرات ﻓﺘﻨﺸﺄ ﻋﻦ
ﻣﺘﻮاﻟﯿﺎت ﻣﺤﺪودة ﻣﻦ اﻟﻜﻠﻤﺎت وﻓﻲ اﻟﻨﮭﺎﯾﺔ ﻓﺈن اﻟﺤﺪﯾﺚ أو اﻟﻜﻼم ﯾﻨﺸﺄ ﻣﻦ ﻣﺘﻮاﻟﯿﺎت ﻣﺤﺪودة ﻣﻦ اﻟﻌﺒﺎرات .واﻟﻠﻐﺔ
اﻟﻤﻜﺘﻮﺑﺔ ﺗﺴﺘﺨﺪم ﻣﺠﻤﻮﻋﺎت ﻣﺤﺪودة ﻣﻦ اﻟﺮﻣﻮز اﻷﺳﺎﺳﯿﺔ اﻟﻤﺤﺪودة.
وﺑﻨﻔﺲ اﻟﻄﺮﯾﻘﺔ ﺗﻢ ﺗﻄﻮﯾﺮ أﺷﻜﺎل ﻣﺤﺪدة ﻟﺘﻤﺜﯿﻞ ﻋﻨﺎﺻﺮ ﻣﻦ ﻣﺠﻤﻮﻋﺎت أﺧﺮى .ﻓﻤﺜﻼ اﻷرﻗﺎم اﻟﻄﺒﯿﻌﯿﺔ ﯾﻤﻜﻦ
ﺗﻤﺜﯿﻠﮭﺎ ﺑﻤﺘﻮاﻟﯿﺎت ﻣﺤﺪودة ﻣﻦ اﻷرﻗﺎم اﻟﻌﺸﺮﯾﺔ.واﻟﺤﻮﺳﺒﺔ ﻣﺜﻠﮭﺎ ﻣﺜﻞ اﻟﻠﻐﺎت اﻟﻄﺒﯿﻌﯿﺔ ﯾﺘﻮﻗﻊ ﻣﻨﮭﺎ أن ﺗﺘﻌﺎﻣﻞ ﻣﻊ
اﻟﻤﻌﻠﻮﻣﺎت ﻓﻲ أﻛﺜﺮ ﺻﻮرھﺎ ﻋﻤﻮﻣﯿﺔ .وﺑﻨﺎءا ﻋﻠﯿﮫ ﻓﺈن اﻟﺤﻮﺳﺒﺔ ﺗﺘﻌﺎﻣﻞ ﻣﻊ اﻷﻋﺪاد اﻟﺼﺤﯿﺤﺔ ,اﻟﺮﺳﻮم اﻟﺒﯿﺎﻧﯿﺔ,
اﻟﺒﺮاﻣﺞ وأﻧﻮاع أﺧﺮى ﻣﻦ اﻟﻜﯿﻨﻮﻧﺎت .وھﺬا ﯾﺆدي إﻟﻰ اﺳﺘﻨﺘﺎج أن اﻟﺤﻮﺳﺒﺔ ﺗﺘﻌﺎﻣﻞ ﻓﻘﻂ ﻣﻊ ﻣﺘﻮاﻟﯿﺎت ﻣﻦ اﻟﺮﻣﻮز
اﻟﺘﻲ ﺗﻤﺜﻞ اﻷﺷﯿﺎء.
اﻟﻤﺠﻤﻮﻋﺔ اﻟﻤﺮﺗﺒﺔ اﻟﻐﯿﺮ ﺧﺎﻟﯿﺔ ﺗﺴﻤﻰ أﺑﺠﺪﯾﺔ إذا ﻛﺎﻧﺖ ﻋﻨﺎﺻﺮھﺎ ﻋﺒﺎرة ﻋﻦ رﻣﻮز أو ﺣﺮوف ﻟﮭﺎ إﺷﻜﺎل ﺗﻤﺜﯿﻠﯿﺔ
ﺗﻌﺮف ﺑﮭﺎ .أﻣﺎ اﻟﺘﻮاﻟﻲ اﻟﻤﺤﺪود ﻟﻠﺮﻣﻮز اﻟﻤﺄﺧﻮذة ﻣﻦ اﻷﺑﺠﺪﯾﺔ ﻓﯿﺴﻤﻰ ﻣﺘﺴﻠﺴﻠﺔ.
4
إذا ﻛﺎﻧﺖ اﻟﻤﺘﺴﻠﺴﻠﺔ ﺗﺤﺘﻮي ﻋﻠﻰ اﻟﺤﺮوف اﻟﻤﺘﺘﺎﻟﯿﺔ a1,a2,…..,anﻓﯿﻤﻜﻦ أن ﻧﺮﻣﺰ ﻟﮭﺎ ﺑﺎﻟﺮﻣﺰ . a1a2-an
أﻣﺎ اﻟﻤﺘﺴﻠﺴﻠﺔ اﻟﺘﻲ ﺗﺤﺘﻮي ﻋﻠﻰ ﺻﻔﺮ ﻣﻦ اﻟﺮﻣﻮز ﻓﺈﻧﮭﺎ ﺗﺴﻤﻰ ﻣﺘﺴﻠﺴﻠﺔ ﺧﺎﻟﯿﺔ Empty Stringوﯾﺮﻣﺰ ﻟﮭﺎ
ﺑﺎﻟﺮﻣﺰ . ε
ba12ﻟﯿﺴﺖ ﻣﺘﺴﻠﺴﻠﺔ ﺗﻨﺘﻤﻲ إﻟﻰ Σ1ﻷﻧﮭﺎ ﺗﺤﺘﻮي ﻋﻠﻰ رﻣﻮز ﻏﯿﺮ ﻣﻮﺟﻮدة ﻓﻲ Σ1
اﺗﺤﺎد اﻷﺑﺠﺪﯾﺘﯿﻦ Σ1و (Σ2 U Σ1) Σ2ﯾﺴﻤﻰ أﺑﺠﺪﯾﺔ ﻓﻘﻂ ﻓﻲ ﺣﺎﻟﺔ إذا أﺧﺬت ﻋﻨﺎﺻﺮه ﺗﺮﺗﯿﺒﺎ ﻣﻌﯿﻨﺎ.
اﻷﺑﺠﺪﯾﺔ اﻟﺘﻲ ﺗﺤﺘﻮي ﻋﻠﻰ ﻋﻨﺼﺮﯾﻦ ﻓﻘﻂ ﺗﺴﻤﻰ أﺑﺠﺪﯾﺔ ﺛﻨﺎﺋﯿﺔ Binary Alphabetواﻟﻤﺘﺴﻠﺴﻠﺔ اﻟﺘﻲ ﺗﻨﺘﻤﻲ
إﻟﻰ ھﺬه اﻷﺑﺠﺪﯾﺔ ﺗﺴﻤﻰ ﻣﺘﺴﻠﺴﻠﺔ ﺛﻨﺎﺋﯿﺔ ,أﻣﺎ إذا اﺣﺘﻮت اﻷﺑﺠﺪﯾﺔ ﻋﻠﻰ ﻋﻨﺼﺮ واﺣﺪ ﻓﻘﻂ ﻓﺘﺴﻤﻰ أﺑﺠﺪﯾﺔ أﺣﺎدﯾﺔ
Unary Alphabetواﻟﻤﺘﺴﻠﺴﻠﺔ اﻟﺘﻲ ﺗﻨﺘﻤﻲ إﻟﯿﮭﺎ ﺗﺴﻤﻰ ﻣﺘﺴﻠﺴﻠﺔ أﺣﺎدﯾﺔ . Unary String
ﻃﻮل اﻟﻤﺘﺴﻠﺴﻠﺔ ) (String Lengthﻓﮭﻮ ﯾﺴﺎوي ﻋﺪد اﻟﺮﻣﻮز اﻟﺘﻲ ﺗﺤﺘﻮي ﻋﻠﯿﮭﺎ اﻟﻤﺘﺴﻠﺴﻠﺔ وإذا ﻟﻢ ﺗﺤﺘﻮي
اﻟﻤﺘﺴﻠﺴﻠﺔ ﻋﻠﻰ أﯾﺔ رﻣﻮز ﻓﺘﺴﻤﻰ ﻣﺘﺴﻠﺴﻠﺔ ﺧﺎﻟﯿﺔ Empty Stringوﯾﺮﻣﺰ ﻟﮭﺎ εوﻃﻮﻟﮭﺎ ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ = . 0
وﺗﻠﻌﺐ اﻟﻤﺘﺴﻠﺴﻠﺔ اﻟﺨﺎﻟﯿﺔ ﻧﻔﺲ اﻟﺪور اﻟﺬي ﯾﻠﻌﺒﮫ اﻟﺮﻗﻢ 0ﻓﻲ ﻣﺠﻤﻮﻋﺔ اﻷﻋﺪاد.
ﻣﺜﺎل :إذا ﻛﺎﻧﺖ } {0,1أﺑﺠﺪﯾﺔ ﺛﻨﺎﺋﯿﺔ و } {1أﺑﺠﺪﯾﺔ أﺣﺎدﯾﺔ :ﻓﺈن 11ھﻲ ﻣﺘﺴﻠﺴﻠﺔ ﺛﻨﺎﺋﯿﺔ ﺗﻨﺘﻤﻲ إﻟﻰ اﻷﺑﺠﺪﯾﺔ
اﻟﺜﻨﺎﺋﯿﺔ وﻓﻲ ﻧﻔﺲ اﻟﻮﻗﺖ ھﻲ ﻣﺘﺴﻠﺴﻠﺔ أﺣﺎدﯾﺔ ﺗﻨﺘﻤﻲ إﻟﻰ اﻷﺑﺠﺪﯾﺔ اﻷﺣﺎدﯾﺔ أﻣﺎ ﻃﻮل ھﺬه اﻟﻤﺘﺴﻠﺴﻠﺔ ﻓﯿﺴﺎوي . 2
5
إذا ﻛﺎﻧﺖ Xﻣﺘﺴﻠﺴﻠﺔ ﻃﻮﻟﮭﺎ nﻓﯿﻤﻜﻦ ﻛﺘﺎﺑﺘﮭﺎ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ ,X=X1X2 …..Xnﺣﯿﺚ Xiﺗﻨﺘﻤﻲ إﻟﻰ .Σ
وإذا ﻛﺘﺒﻨﺎ ھﺬه اﻟﺮﻣﻮز ﺑﺸﻜﻞ ﻋﻜﺴﻲ ﻓﺘﺴﻤﻰ ﻣﺘﺴﻠﺴﻠﺔ ﻋﻜﺴﯿﺔ Reverse Stringوﯾﺮﻣﺰ ﻟﮭﺎ ﺑﺎﻟﺮﻣﺰ Xوﺗﻜﺘﺐ
رﻣﻮزھﺎ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ . X = XnXn-1 ……X1 :
اﻟﻤﺘﺴﻠﺴﻠﺔ Zﺗﺴﻤﻰ ﻣﺘﺴﻠﺴﻠﺔ ﻓﺮﻋﯿﺔ Substringﻣﻦ Xإذا ﻛﺎﻧﺖ ﺗﺘﻜﻮن ﻣﻦ ﺗﻮاﻟﻲ رﻣﻮز ﻣﻮﺟﻮدة ﻓﻲ . X
إذا ﻛﺎن ﻟﺪﯾﻨﺎ اﻟﻤﺘﺴﻠﺴﻠﺔ Xوﻃﻮﻟﮫ mواﻟﻤﺘﺴﻠﺴﻠﺔ Yوﻃﻮﻟﮭﺎ nﻓﺈن XYھﻮ ﺗﺘﺎﺑﻊ أو ﺗﻮاﻟﻲ
أي: X ﺑﻨﮭﺎﯾﺔ Y إﻟﺤﺎق ﻣﻦ XY ﻋﻠﻰ اﻟﺤﺼﻮل وﯾﺘﻢ اﻟﻤﺘﺴﻠﺴﻠﺘﯿﻦ Concatenation
. XY=X1X2….XmY1Y2…Ynﻛﻤﺎ ﯾﻤﻜﻦ ﺗﻜﻮﯾﻦ ﺗﻮاﻟﻲ ﻣﻦ اﻟﻤﺘﺴﻠﺴﻠﺔ ﻧﻔﺴﮭﺎ ﻋﺪة ﻣﺮات ﻓﻤﺜﻼ Xھﻲ
ﻋﺒﺎرة ﻋﻦ ﺗﻮاﻟﻲ Xﻋﺪد kﻣﻦ اﻟﻤﺮات.
أﻣﺎ ﺗﻮاﻟﻲ اﻟﻤﺘﺴﻠﺴﻠﺔ اﻟﺨﺎﻟﯿﺔ εﻣﻊ Xﻓﯿﺴﺎوي داﺋﻤﺎ . Xوﺗﻮاﻟﻲ εﻣﻊ ﻧﻔﺴﮭﺎ ﯾﺴﺎوي داﺋﻤﺎ . ε
إذا ﻛﺎﻧﺖ X=011ﻓﺈن اﻟﻤﺘﺴﻠﺴﻼت 110 ,101 ,011ھﻲ ﻣﺘﺴﻠﺴﻼت ﺗﺒﺎدﻟﯿﺔ Permutations Stringsل . X
ﻣﺠﻤﻮﻋﺔ ﺟﻤﯿﻊ اﻟﻤﺘﺴﻠﺴﻼت اﻟﺘﻲ ﺗﻨﺘﻤﻲ إﻟﻰ اﻷﺑﺠﺪﯾﺔ Σﯾﺘﻢ ﺗﻤﺜﯿﻠﮭﺎ ﺑﺎﻟﺮﻣﺰ * . Σأﻣﺎ }. Σ =Σ* - {ε
ﻣﺜﺎل :إذا ﻛﺎﻧﺖ X=011ﻓﺈن ε ,0 ,1 ,01 ,11 ,011ھﻲ ﻣﺘﺴﻠﺴﻼت ﻓﺮﻋﯿﺔ ﻣﻦ X
6
ﺗﻨﻈﯿﻢ اﻟﻤﺘﺴﻠﺴﻼت : Ordering of Stringsﺗﻌﺘﺒﺮ ﻋﻤﻠﯿﺔ اﻟﺒﺤﺚ Searchingأﻛﺜﺮ اﻟﻌﻤﻠﯿﺎت اﻟﺘﻄﺒﯿﻘﯿﺔ
اﻟﻌﺎﻣﺔ اﻟﺘﻲ ﯾﺘﻢ إﺟﺮاؤھﺎ ﻋﻠﻰ اﻟﻤﻌﻠﻮﻣﺎت Informationوﺗﻜﻤﻦ أھﻤﯿﺔ ھﺬه اﻟﻌﻤﻠﯿﺎت ﻓﻲ ﺗﺴﮭﯿﻞ ﻋﻤﻠﯿﺔ اﻟﺒﺤﺚ
ﻋﻦ اﻟﻤﻌﻠﻮﻣﺎت وﻓﻲ ﻋﻤﻠﯿﺔ ﺗﻨﻈﯿﻤﮭﺎ أﯾﻀﺎ ﺑﻐﺾ اﻟﻨﻈﺮ ﻋﻦ اﻟﻄﺮﯾﻘﺔ اﻟﺘﻲ ﺗﺘﻢ ﻓﯿﮭﺎ ھﺬه اﻟﻌﻤﻠﯿﺎت .وﻓﻲ ﻣﻌﻈﻢ اﻟﺤﺎﻻت
ﻓﺈن اﻟﻮﺻﻮل إﻟﻰ ھﺬه اﻷھﺪاف ﯾﻌﺘﻤﺪ ﻋﻠﻰ وﺟﻮد ﻋﻼﻗﺎت ﯾﺘﻢ ﻣﻦ ﺧﻼﻟﮭﺎ ﺗﻌﺮﯾﻒ ﻋﻤﻠﯿﺔ ﺗﻨﻈﯿﻢ ﻣﻜﻮﻧﺎت أو ﻛﯿﻨﻮﻧﺎت
اﻟﻤﺴﺄﻟﺔ اﻟﻤﺮاد اﻟﺒﺤﺚ ﻓﯿﮭﺎ .وﻓﯿﻤﺎ ﯾﺘﻌﻠﻖ ﺑﺎﻟﻤﺘﺴﻠﺴﻼت ﻓﺈن اﻟﻌﻼﻗﺔ اﻟﺘﻲ ﯾﺘﻢ ﺗﻜﺮارھﺎ ھﻮ ﻣﻘﺎرﻧﺘﮭﺎ أﺑﺠﺪﯾﺎ ﻛﻤﺎ ﯾﺤﺪث
ﻓﻲ ﺗﻨﻈﯿﻢ اﻷﺳﻤﺎء ﻓﻲ دﻟﯿﻞ اﻟﮭﺎﺗﻒ .وﯾﻤﻜﻦ ﺗﻮﺿﯿﺢ ذﻟﻚ ﻣﻦ ﺧﻼل اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ:
ﻧﻔﺮض أن ھﻨﺎك أﺑﺠﺪﯾﺔ ھﻲ } Σ={0,1وإذا أﺧﺬﻧﺎ اﻟﻤﺘﺴﻠﺴﻠﺔ 01اﻟﺘﻲ ﺗﻨﺘﻤﻲ إﻟﻰ ھﺬه اﻷﺑﺠﺪﯾﺔ ﻓﺈﻧﻨﺎ ﻧﺠﺪھﺎ أﺑﺠﺪﯾﺎ
أﺻﻐﺮ ﻣﻦ اﻟﻤﺘﺴﻠﺴﻠﺔ 01100اﻟﺘﻲ ﺗﻨﺘﻤﻲ أﯾﻀﺎ إﻟﻰ Σﻷن 01ﯾﻤﻜﻦ اﻋﺘﺒﺎرھﺎ ﺑﺎدﺋﺔ ﺗﺎﻣﺔ ﻣﻦ ) 01100أي ﺟﺰء
ﻣﻨﮭﺎ( .ﻣﻦ ﻧﺎﺣﯿﺔ أﺧﺮى ﻓﺄن اﻟﻤﺘﺴﻠﺴﻠﺔ 01100أﺑﺠﺪﯾﺎ أﺻﻐﺮ ﻣﻦ 0111وذﻟﻚ ﻷن اﻟﻤﺘﺴﻠﺴﻠﺘﯿﻦ ﺗﺸﺘﺮﻛﺎن ﻓﻲ أول
ﺛﻼﺛﺔ رﻣﻮز وﻟﻜﻦ اﻟﺮﻣﺰ اﻟﺮاﺑﻊ ﻓﻲ 0111اﻛﺒﺮ ﻣﻦ اﻟﺮﻣﺰ اﻟﺮاﺑﻊ ﻓﻲ .01100
ﻣﺜﺎل آﺧﺮ ھﻮ ﻣﺠﻤﻮﻋﺔ ﻣﺘﺴﻠﺴﻼت ﺗﻨﺘﻤﻲ إﻟﻰ Σﻣﺮﺗﺒﺔ أﺑﺠﺪﯾﺎ ﻣﻦ اﻷﺻﻐﺮ إﻟﻰ اﻷﻛﺒﺮ و ﻻ ﯾﺰﯾﺪ ﻃﻮل أي ﻣﻨﮭﺎ ﻋﻦ
3
}Σ* = {ε,0,00,000,001,01,010,011,1,10,100,101,11,110,111
ھﺬا اﻟﺘﺮﺗﯿﺐ اﻷﺑﺠﺪي ﯾﻌﺘﺒﺮ أﻣﺮا ﻣﺮﯾﺤﺎ ﻟﻠﻤﺠﻤﻮﻋﺎت اﻟﻤﺤﺪودة أو اﻟﻤﻨﺘﮭﯿﺔ ﻷﻧﮫ ﯾﻤﻜﻦ اﻟﻮﺻﻮل إﻟﻰ أي ﻣﻦ ھﺬه
اﻟﻤﺘﺴﻠﺴﻼت ﻓﻲ ھﺬه اﻟﻤﺠﻤﻮﻋﺔ ﻓﻲ ﻧﮭﺎﯾﺔ اﻷﻣﺮ ﺑﻐﺾ اﻟﻨﻈﺮ ﻋﻦ ﻣﻜﺎن وﺟﻮدھﺎ.
ﻓﻲ ﺑﻌﺾ اﻟﺤﺎﻻت ﯾﻜﻮن اﻟﺘﺮﺗﯿﺐ اﻷﺑﺠﺪي ﻏﯿﺮ ﻣﻨﺎﺳﺐ ﻷن ﺑﻌﺾ اﻟﻤﺘﺴﻠﺴﻼت ﻓﻲ اﻟﻤﺠﻤﻮﻋﺔ ﻗﺪ ﺗﻜﻮن ﻣﺴﺒﻮﻗﺔ
ﺑﻌﺪد ﻏﯿﺮ ﻣﺤﺪود ﻣﻦ اﻟﻤﺘﺴﻠﺴﻼت اﻷﺧﺮى .ﻓﻤﺜﻼ ﻓﻲ اﻟﻤﺠﻤﻮﻋﺔ اﻷﺑﺠﺪﯾﺔ اﻟﻤﻨﻈﻤﺔ } Σ={0,1ﻓﺈن اﻟﻤﺘﺴﻠﺴﻠﺔ 1
ﺗﻜﻮن ﻣﺴﺒﻮﻗﺔ ﺑﺎﻟﻤﺘﺴﻠﺴﻼت . 0,00,000,….وھﺬا ﯾﺒﺮر اﻟﻠﺠﻮء إﻟﻰ ﻣﺎ ﯾﺴﻤﻰ اﻟﺘﻨﻈﯿﻢ اﻟﻘﺎﻧﻮﻧﻲ Canonical
Orderingﻟﻠﻤﺘﺴﻠﺴﻼت ﺣﯿﺚ ﺗﻜﻮن ﻛﻞ ﻣﺘﺴﻠﺴﻠﺔ ﻣﺴﺒﻮﻗﺔ ﺑﻌﺪد ﻣﺤﺪود ﻣﻦ اﻟﻤﺘﺴﻠﺴﻼت اﻷﺧﺮى.
وﺣﺴﺐ اﻟﺘﻨﻈﯿﻢ اﻟﻘﺎﻧﻮﻧﻲ ﻓﺈن اﻟﻤﺘﺴﻠﺴﻠﺔ Xﺗﻌﺘﺒﺮ اﺻﻐﺮ ﻗﺎﻧﻮﻧﯿﺎ Canonically Smallerﻓﻲ اﻷﺑﺠﺪﯾﺔ * Σﻣﻦ
اﻟﻤﺘﺴﻠﺴﻠﺔ Yإذا ﺗﺤﻘﻖ اﺣﺪ اﻟﺸﺮﻃﯿﻦ اﻟﺘﺎﻟﯿﯿﻦ:
ﻣﺜﺎل :ﻓﻲ اﻷﺑﺠﺪﯾﺔ } Σ={0,1واﻟﻤﺘﺴﻠﺴﻠﺔ X=11ھﻲ اﺻﻐﺮ ﻗﺎﻧﻮﻧﯿﺎ ﻣﻦ اﻟﻤﺘﺴﻠﺴﻠﺔ Y=000ﻷن ﻃﻮل Xاﻗﻞ.
7
ﻣﻦ ﻧﺎﺣﯿﺔ أﺧﺮى اﻟﻤﺘﺴﻠﺴﻠﺔ X=00اﺻﻐﺮ ﻣﻦ Y=11ﻷﻧﮭﻤﺎ ﻣﻦ ﻧﻔﺲ اﻟﻄﻮل وﻟﻜﻦ أﺑﺠﺪﯾﺎ Xاﻗﻞ ﻣﻦ . Y
ﻟﺬﻟﻚ ﻟﻮ ﻗﻤﻨﺎ ﺑﺘﺮﺗﯿﺐ اﻟﻤﺘﺴﻠﺴﻼت اﻟﺘﻲ ﺗﻨﺘﻤﻲ إﻟﻰ اﻷﺑﺠﺪﯾﺔ ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻗﺎﻧﻮﻧﯿﺎ وﻟﯿﺲ أﺑﺠﺪﯾﺎ ﻓﺈن ﻣﺠﻤﻮﻋﺔ
ھﺬه اﻟﻤﺘﺴﻠﺴﻼت ﺳﻮف ﺗﻜﻮن ﻣﺮﺗﺒﺔ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ:
}Σ* = {ε,0,1,00,01,10,11,000,001,010,011,100,101,110,111
ﻣﻦ ﻧﺎﺣﯿﺔ أﺧﺮى ﯾﻤﻜﻦ اﻟﻘﻮل أن ﺗﻤﺜﯿﻞ أو ﺗﺮﻣﯿﺰ Encodingﻋﻨﺎﺻﺮ اﻷﺑﺠﺪﯾﺔ ھﻮ ﻋﺒﺎرة ﻋﻦ ﻣﺠﻤﻮﻋﺔ ﻧﺎﺗﺠﺔ ﻋﻦ
ﻋﻼﻗﺔ ﻣﻌﯿﻨﺔ ﺗﺴﻤﻰ داﻟﺔ ﺗﺤﻘﻖ ﺷﺮﻃﺎ ﻣﻌﯿﻨﺎ .وﻓﻲ ﺣﺎﻟﺔ ﻛﺎﻧﺖ اﻷﺑﺠﺪﯾﺔ ﻣﻔﺮدة ﻓﺄن اﻟﺘﻤﺜﯿﻞ ﯾﺴﻤﻰ أﺣﺎدﯾﺎ وإذا ﻛﺎﻧﺖ
اﻷﺑﺠﺪﯾﺔ زوﺟﯿﺔ ﻓﺄن اﻟﺘﻤﺜﯿﻞ ﯾﺴﻤﻰ زوﺟﯿﺎ.
ﻣﺜﺎل :إذا ﻛﺎﻧﺖ } Σ={0,1وﻛﺎﻧﺖ اﻟﺪاﻟﺔ f1ھﻲ ﺗﻤﺜﯿﻞ زوﺟﻲ ﻟﻌﻨﺎﺻﺮ ﻣﺠﻤﻮﻋﺔ اﻷﻋﺪاد اﻟﻄﺒﯿﻌﯿﺔ ﻛﺎﻟﺘﺎﻟﻲ:
وﺑﻨﻔﺲ اﻟﻄﺮﯾﻘﺔ إذا ﻛﺎﻧﺖ f2ھﻲ أﯾﻀﺎ ﺗﻤﺜﯿﻞ ﻟﻌﻨﺎﺻﺮ ﻣﺠﻤﻮﻋﺔ اﻷﻋﺪاد اﻟﻄﺒﯿﻌﯿﺔ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ:
f2(0) = {ε},
f2(1) = {0},
f2(2) = {1},
8
f2(3) = {00},
f2(4) = {01},
f2(5) = {10},
f2(6) = {11},
f2(7) = {000},
f2(8) = {1000},
وﻛﺬﻟﻚ إذا ﻛﺎﻧﺖ f3ھﻲ أﯾﻀﺎ ﺗﻤﺜﯿﻞ أﺣﺎدي ﻟﻸﺑﺠﺪﯾﺔ اﻷﺣﺎدﯾﺔ } Σ={1ﺑﺤﯿﺚ ﯾﺘﻢ ﺗﻤﺜﯿﻞ ﻛﻞ ﻋﻨﺼﺮ ﻣﻦ ﻣﺠﻤﻮﻋﺔ
اﻷﻋﺪاد اﻟﻄﺒﯿﻌﯿﺔ ﺑﺎﻟﻌﻼﻗﺔ اﻟﺘﺎﻟﯿﺔ f3(i) = {1i} :وﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﻓﺈن :
f3(0) = {ε},
f3(1) = {1},
f3(2) = {11},
f3(3) = {111},
9
إن ﺷﻤﻮﻟﯿﺔ اﻟﻤﺘﺴﻠﺴﻼت ﺗﻌﺘﺒﺮ ﻃﺮﯾﻘﺔ ﻣﻔﯿﺪة ﻓﻲ ﺗﻤﺜﯿﻞ Representationاﻟﻤﻌﻠﻮﻣﺎت ﻃﺎﻟﻤﺎ وﺟﺪت داﻟﺔ
Functionﺗﻘﻮم ﺑﺘﺤﻮﯾﻞ أو ﺗﻔﺴﯿﺮ Interpretationاﻟﻤﻌﻠﻮﻣﺎت اﻟﺘﻲ ﯾﺘﻢ اﻟﺤﺼﻮل ﻋﻠﯿﮭﺎ ﺑﻮاﺳﻄﺔ اﻟﻤﺘﺴﻠﺴﻼت
وھﺬا اﻟﺘﻔﺴﯿﺮ ﻣﺎ ھﻮ إﻻ اﻧﻌﻜﺎس ﻟﻠﻤﺨﻄﻂ اﻟﺬي ﺗﻮﻓﺮه ﻋﻤﻠﯿﺔ اﻟﺘﻤﺜﯿﻞ.
ﻓﻤﺜﻼ اﻟﻤﺘﺴﻠﺴﻠﺔ 111ﯾﻤﻜﻦ اﻋﺘﺒﺎرھﺎ اﻟﻌﺪد ) 111ﻣﺌﺔ وإﺣﺪى ﻋﺸﺮ( ﺣﺴﺐ ﻣﺎ ﺗﻤﺜﻠﮫ ﻣﺘﺴﻠﺴﻠﺔ ﻋﺸﺮﯾﺔ أو اﻟﺮﻗﻢ 7
ﺣﺴﺐ ﻣﺎ ﺗﻤﺜﻠﮫ اﻟﻤﺘﺴﻠﺴﻠﺔ اﻟﺜﻨﺎﺋﯿﺔ أو اﻟﺮﻗﻢ 3إذا ﻛﺎن ﻣﻤﺜﻼ ﺑﻤﺘﺴﻠﺴﻠﺔ أﺣﺎدﯾﺔ.
أن اﻷﻃﺮاف أو اﻟﺠﮭﺎت Partiesاﻟﺘﻲ ﺗﻘﻮم ﺑﺘﺒﺎدل ﺟﺰء ﻣﻦ اﻟﻤﻌﻠﻮﻣﺎت ھﻲ اﻟﺘﻲ ﺗﻨﺠﺰ ﻋﻤﻠﯿﺎت اﻟﺘﻤﺜﯿﻞ واﻟﺘﺤﻮﯾﻞ
ﻓﺎﻟﺘﻤﺜﯿﻞ Representationﯾﻘﻮم ﺑﮫ اﻟﻤﺮﺳﻞ Senderأﻣﺎ اﻟﺘﺤﻮﯾﻞ Interpretationﻓﯿﻘﻮم ﺑﮫ اﻟﻤﺴﺘﻘﺒﻞ
Receiverوﻛﺬﻟﻚ اﻷﻣﺮ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﻌﻤﻠﯿﺔ Processﻓﻠﯿﺲ ﻣﮭﻤﺎ ﻋﻠﻰ اﻹﻃﻼق إذا ﻛﺎﻧﺖ ھﺬه اﻷﻃﺮاف ﻋﻨﺎﺻﺮ
ﺑﺸﺮﯾﺔ أم ﺑﺮاﻣﺞ . Programsﻟﺬا ﻓﻤﻦ وﺟﮭﺔ ﻧﻈﺮ اﻷﻃﺮاف اﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﺈن اﻟﻠﻐﺔ ھﻲ ﻓﻘﻂ ﻋﺒﺎرة ﻋﻦ ﻣﺠﻤﻮﻋﺔ
ﻣﻦ اﻟﻤﺘﺴﻠﺴﻼت وھﺬه اﻷﻃﺮاف ھﻲ اﻟﺘﻲ ﺗﻀﻊ اﻟﺤﺪود ﻟﺘﻤﺜﯿﻞ وﺗﺤﻮﯾﻞ ھﺬه اﻟﻤﺘﺴﻠﺴﻼت.
اﻟﻠﻐﺎت : Languages
ﺑﺸﻜﻞ ﻋﺎم إذا ﻛﺎﻧﺖ Σأﺑﺠﺪﯾﺔ وﻛﺎﻧﺖ Lﻣﺠﻤﻮﻋﺔ ﺟﺰﺋﯿﺔ Subsetﻣﻦ * Σﻓﺄﻧﮫ ﯾﻤﻜﻦ اﻟﻘﻮل أن Lھﻲ ﻟﻐﺔ
Languageﺗﻨﺘﻤﻲ إﻟﻰ Σوﻛﻞ ﻋﻨﺼﺮ ﻓﻲ Lﯾﺴﻤﻰ ﺟﻤﻠﺔ Sentenceأو ﻛﻠﻤﺔ Wordأو ﻣﺘﺴﻠﺴﻠﺔ . String
اﻟﻤﺠﻤﻮﻋﺎت اﻟﺘﺎﻟﯿﺔ {0,11,001} , {ε,10}, {0,1}* :ھﻲ ﻣﺠﻤﻮﻋﺎت ﺟﺰﺋﯿﺔ ﻣﻦ *} {0,1ﻟﺬﻟﻚ ﻓﺈﻧﮭﺎ ﺟﻤﯿﻌﮭﺎ
ﺗﻌﺘﺒﺮ ﻟﻐﺎت ﺗﻨﺘﻤﻲ إﻟﻰ اﻷﺑﺠﺪﯾﺔ }. {0,1
10
Øھﻲ ﻋﺒﺎرة ﻋﻦ ﻟﻐﺔ ﻻ ﺗﺤﺘﻮي ﻋﻠﻰ أﯾﺔ ﻣﺘﺴﻠﺴﻠﺔ
اﺗﺤﺎد Unionاﻟﻠﻐﺘﯿﻦ L1,L2ﯾﻤﺜﻞ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ L1 U L2ھﻲ ﻋﺒﺎرة ﻋﻦ اﻟﻠﻐﺔ اﻟﺘﻲ ﺗﺤﺘﻮي ﻋﻠﻰ ﺟﻤﯿﻊ
اﻟﻤﺘﺴﻠﺴﻼت اﻟﻤﻮﺟﻮدة ﻓﻲ L1أو ﻓﻲ L2ﺑﺤﯿﺚ ﺗﺤﻘﻖ }. {x │x is in L1or X is in L2
ﺗﻘﺎﻃﻊ L1, L2 Intersectionواﻟﺬي ﯾﻤﺜﻞ L1∩L2ھﻮ ﻋﺒﺎرة ﻋﻦ اﻟﻠﻐﺔ اﻟﺘﻲ ﺗﺤﺘﻮي ﻋﻠﻰ ﺟﻤﯿﻊ
اﻟﻤﺘﺴﻠﺴﻼت اﻟﻤﻮﺟﻮدة ﻓﻲ L1و L2ﻓﻲ ﻧﻔﺲ اﻟﻮﻗﺖ ﺑﺤﯿﺚ ﺗﺤﻘﻖ }{x │x is in L1 and in L2
ﻣﺘﻤﻤﺔ Complementationاﻟﻠﻐﺔ Lاﻟﺘﻲ ﺗﻨﺘﻤﻲ إﻟﻰ Σوﺗﻤﺜﻞ ﻛﺎﻟﺘﺎﻟﻲ Lھﻲ ﻋﺒﺎرة ﻋﻦ ﺟﻤﯿﻊ اﻟﻤﺘﺴﻠﺴﻼت
اﻟﻤﻮﺟﻮدة ﻓﻲ Σوﻟﯿﺴﺖ ﻣﻮﺟﻮدة ﻓﻲ Lﺑﺤﯿﺚ ﺗﺤﻘﻖ }. {x │x is in Σ* but not in L
ﻣﺜﺎل :إذا ﻛﺎﻧﺖ } L2= {ε, 01, 11} , L1= {ε, 0,1ﻓﺈن
}L1 ∩ L2 = {ε
Ø UL=L
Ø∩L=Ø
*Ø = Σ
Σ* = Ø
11
اﻟﻔﺮق Differenceﺑﯿﻦ L1و L2واﻟﺬي ﯾﻤﺜﻞ ) (L1-L2ھﻮ ﻋﺒﺎرة ﻋﻦ ﺟﻤﯿﻊ اﻟﻤﺘﺴﻠﺴﻼت اﻟﻤﻮﺟﻮدة ﻓﻲ L1
وﻟﻜﻨﮭﺎ ﻟﯿﺴﺖ ﻓﻲ L2ﺣﯿﺚ ﺗﺤﻘﻖ }. {x │x is in L1 but not in L2
ﺣﺎﺻﻞ ﺿﺮب Cross Productاﻟﻠﻐﺘﯿﻦ L1و L2وﯾﻤﺜﻞ ) (L1 × L2ھﻮ ﻋﺒﺎرة ﻋﻦ اﻟﻤﺘﺴﻠﺴﻠﺔ اﻟﺘﻲ ﺗﺤﺘﻮي
ﻋﻠﻰ ﺟﻤﯿﻊ اﻷزواج اﻟﻤﺮﺗﺒﺔ ) (x,yﺑﺤﯿﺚ ﺗﻜﻮن xﻣﻦ L1وﺗﻜﻮن yﻣﻦ L2وﺗﺤﻘﻖ اﻟﻌﻼﻗﺔ اﻟﺘﺎﻟﯿﺔ:
ﺗﺮﻛﯿﺐ L1 Compositionﻣﻊ L2اﻟﺬي ﯾﻤﺜﻞ ) (L1L2ھﻮ ﻋﺒﺎرة ﻋﻦ ﻟﻐﺔ ﺗﺤﻘﻖ اﻟﻌﻼﻗﺔ اﻟﺘﺎﻟﯿﺔ:
} { xy | x is in L1 and y is in L2
}L2 – L1 = {101
})L1 × L2 = {(ε, 01), (ε, 11), (0, 01), (0, 11), (1, 01), (1, 11
L - Ø = L,
Ø - L = Ø,
ØL = Ø,
{ε}L = L.
12
ﺗﺴﺘﺨﺪم Liﻟﺘﻤﺜﯿﻞ اﻟﺘﺮﻛﯿﺐ Compositionاﻟﻤﺘﻜﻮن ﻣﻦ اﻟﻌﺪد iﻣﻦ ﻧﺴﺦ اﻟﻠﻐﺔ Lﺣﯿﺚ L0ﺗﻌﺮف ﻋﻠﻰ أﻧﮭﺎ
..... L3 L2 L1ﻓﺘﺴﻤﻰ ﻧﮭﺎﯾﺔ ﻛﻠﯿﻦ Kleene closureأو ﺑﺒﺴﺎﻃﺔ ﻧﮭﺎﯾﺔ L } , {εأﻣﺎ اﻟﻤﺠﻤﻮﻋﺔ L0
وﺗﻤﺜﻞ *. L
أﻣﺎ اﻟﻤﺠﻤﻮﻋﺔ ....... L3 L2 L1ﻓﺘﺴﻤﻰ اﻟﻨﮭﺎﯾﺔ اﻟﻤﻮﺟﺒﺔ positive closureﻟﻠﻐﺔ Lوﺗﻤﺜﻞ . L+
}L1 2 = {ε,0,1,00,01,10,11
}L2 3 = {010101,010111,011111,110101,110111,1111101,111111
ﺟﻤﯿﻊ ھﺬه اﻟﻌﻤﻠﯿﺎت ﯾﻤﻜﻦ إﺟﺮاؤھﺎ وﺑﻨﻔﺲ اﻟﻄﺮﯾﻘﺔ ﻋﻠﻰ اﻟﻌﻼﻗﺎت ﻓﻲ *∆ ∑* xﺣﯿﺚ ∑ ∆ ,ھﻤﺎ أﺑﺠﺪﯾﺘﺎن.
R1R2ﺗﺤﻘﻖ اﻟﻌﻼﻗﺔ } { (x1x2, y1y2) | (x1, y1) is in R1 and (x2, y2) is in R2
R1 ∩ R2 = Ø
13
ﻣﺜﺎل :إذا ﻛﺎﻧﺖ اﻟﻌﻼﻗﺔ }) R= {( ε ,ε) , (ε,01ﻓﺈن :
})R0 = {( ε, ε
إن اﻟﻠﻐﺔ اﻟﺘﻲ ﯾﻤﻜﻦ ﺗﻌﺮﯾﻔﮭﺎ ﺑﻮاﺳﻄﺔ ﻧﻈﺎم ﺷﻜﻠﻲ Formal Systemذﻟﻚ اﻟﻨﻈﺎم اﻟﺬي ﯾﻤﺘﻠﻚ ﻋﺪد ﻣﺤﺪود ﻣﻦ
اﻟﺒﺪﯾﮭﯿﺎت axiomsوﻛﺬﻟﻚ ﻋﺪد ﻣﺤﺪود ﻣﻦ اﻟﻘﻮاﻋﺪ واﻷﺣﻜﺎم اﻟﻤﺴﺘﻨﺘﺠﺔ ﺗﺴﻤﻰ ﻟﻐﺔ ﺷﻜﻠﯿﺔ Formal
. Language
اﻟﻘﻮاﻋﺪ : Grammars
ﻓﻲ ﻛﺜﯿﺮ ﻣﻦ اﻷﺣﯿﺎن ﯾﻌﺘﺒﺮ ﺗﻮﺻﯿﻒ اﻟﻠﻐﺔ ﻣﻦ ﺧﻼل ﻗﻮاﻋﺪ ﻣﺤﺪدة أﻣﺮا ﻣﺮﯾﺤﺎ .وﺗﻈﮭﺮ اﻟﻔﺎﺋﺪة ﻣﻦ ھﺬا –ﺑﺸﻜﻞ
رﺋﯿﺴﻲ -ﻋﻨﺪ اﺳﺘﺨﺪام ﻋﺪد ﻗﻠﯿﻞ ﻣﻦ اﻟﻘﻮاﻧﯿﻦ أو اﻷﺣﻜﺎم Rulesﻟﻮﺻﻒ ﻟﻐﺔ ﺗﺤﺘﻮي ﻋﻠﻰ ﻋﺪد ﻛﺒﯿﺮ ﻣﻦ اﻟﺠﻤﻞ.
ﻓﻌﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ھﻨﺎك اﺣﺘﻤﺎﻟﯿﺔ أن ﺗﺘﻜﻮن اﻟﺠﻤﻠﺔ ﻓﻲ اﻟﻠﻐﺔ اﻻﻧﺠﻠﯿﺰﯾﺔ ﻣﻦ ﻋﺒﺎرة ﻣﻮﺿﻮﻋﯿﺔ )ﻣﺒﺘﺪأ( Subject
ﺗﻜﻮن ﻣﺘﺒﻮﻋﺔ ﺑﻌﺒﺎرة ﺧﺒﺮﯾﺔ )ﺧﺒﺮ( Predicateأي ان اﻟﺠﻤﻠﺔ ﺗﺘﻜﻮن ﻣﻦ ﻣﺒﺘﺪأ وﺧﺒﺮ .وﻓﻲ ﻧﻔﺲ اﻟﻮﻗﺖ اﻟﻤﺒﺘﺪأ
ﯾﻤﻜﻦ أن ﯾﺘﻜﻮن ﻣﻦ ﺟﻤﻠﺔ اﺳﻤﯿﺔ Noun Phraseﯾﺘﻢ اﻟﺘﻌﺒﯿﺮ ﻋﻨﮭﺎ ﺑﻮاﺳﻄﺔ أﺣﻜﺎم ﻛﺄن ﯾﻜﻮن اﻟﻤﺒﺘﺪأ اﺳﻢ Noun
وھﻜﺬا.
ﺑﻨﺎءا ﻋﻠﻰ ذﻟﻚ ﻟﻮ أﺧﺬﻧﺎ ﺟﻤﻠﺔ ” “Mary sang a songﻓﺈﻧﮫ ﯾﻤﻜﻦ وﺻﻔﮭﺎ ﻣﻦ ﺧﻼل اﻟﻘﻮاﻋﺪ أو اﻷﺣﻜﺎم
اﻟﺘﺎﻟﯿﺔ:
> ﻓﻌﻞ < > ﺻﻔﺔ < > اﺳﻢ < > اﻟﺨﺒﺮ<
14
> ﻣﺘﺴﻠﺴﻠﺔ < > اﻻﺳﻢ <
> ﺣﺮف اﺑﺠﺪي ﻛﺒﯿﺮ < > ﻣﺘﺴﻠﺴﻠﺔ< > اﺳﻢ اﻟﻌﻠﻢ <
> ﻣﺘﺴﻠﺴﻠﺔ < > ﺣﺮف أﺑﺠﺪي < > اﻟﻤﺘﺴﻠﺴﻠﺔ <
15
إن ھﺬه اﻷﺣﻜﺎم واﻟﻘﻮاﻋﺪ ﺗﺴﻤﺢ ﺑﺈﻧﺸﺎء ﺟﻤﻞ أﺧﺮى ﻋﻠﻰ ﻏﺮار ﺟﻤﻠﺔ ” “Mary sang a songوذﻟﻚ
ﺑﺎﺳﺘﺨﺪام اﺳﻢ آﺧﺮ إﻟﻰ ﺟﺎﻧﺐ Maryاو اﺳﺘﺨﺪام اﺳﻢ آﺧﺮ ﻣﻜﺎﻧﮫ .ﻣﻦ ﻧﺎﺣﯿﺔ أﺧﺮى ﻓﺈن ھﺬه اﻟﻘﻮاﻋﺪ ﺗﺸﯿﺮ إﻟﻰ
اﻟﺠﻤﻞ اﻟﺘﻲ ﻻ ﺗﻌﺘﺒﺮ ﻣﻦ اﻟﻠﻐﺔ اﻹﻧﺠﻠﯿﺰﯾﺔ ﻣﺜﻞ ﺟﻤﻠﺔ ” “Mary sang a Maryﻛﻤﺎ أن ھﺬه اﻟﻘﻮاﻋﺪ ﻻ ﺗﺴﻤﺢ
ﺑﺈﻧﺸﺎء ﺟﻤﻞ ﻣﺜﻞ " "Mary read a song.وﻣﻤﺎ ﺳﺒﻖ ﻓﺈﻧﮫ ﯾﻤﻜﻦ اﻟﻘﻮل أن ﻣﺠﻤﻮﻋﺔ اﻟﻘﻮاﻋﺪ واﻷﺣﻜﺎم اﻟﻮاردة
أﻋﻼه ﺗﻜﻮن ﻣﻨﻈﻮﻣﺔ ﻗﻮاﻋﺪ ﻏﯿﺮ ﻣﻜﺘﻤﻠﺔ ﻟﻮﺻﻒ اﻟﻠﻐﺔ اﻻﻧﺠﻠﯿﺰﯾﺔ.
وﻷﻏﺮاض اﻟﺒﺤﺚ ﻓﺈﻧﮫ ﯾﻌﺘﺒﺮ ﻛﺎﻓﯿﺎ اﻷﺧﺬ ﺑﻌﯿﻦ اﻻﻋﺘﺒﺎر ﻓﻘﻂ اﻟﻘﻮاﻋﺪ اﻟﺘﻲ ﺗﺘﻜﻮن ﻣﻦ ﻣﺠﻤﻮﻋﺎت ﻣﺤﺪودة ﻣﻦ
اﻟﻘﻮاﻋﺪ أو اﻷﺣﻜﺎم وھﺬا اﻟﻨﻮع ﻣﻦ اﻟﻘﻮاﻋﺪ ﯾﺴﻤﻰ ﻗﻮاﻋﺪ ﻣﻦ اﻟﻨﻮع (Type 0 grammars) 0أو ﻗﻮاﻋﺪ ﺑﻨﺎء
اﻟﺘﻌﺎﺑﯿﺮ phrase structure grammarsأﻣﺎ اﻟﻠﻐﺔ اﻟﺸﻜﻠﯿﺔ Formal Languageاﻟﺘﻲ ﺗﻨﺘﺠﮭﺎ ھﺬه
اﻟﻘﻮاﻋﺪ ﻓﺘﺴﻤﻰ ﻟﻐﺎت اﻟﻨﻮع . 0وﺑﺸﻜﻞ دﻗﯿﻖ ﯾﻤﻜﻦ اﻟﻘﻮل أن ﺟﻤﯿﻊ اﻟﻘﻮاﻋﺪ ﻣﻦ اﻟﻨﻮع 0وﯾﺮﻣﺰ ﻟﮭﺎ ﺑﺎﻟﺮﻣﺰ G
ﯾﻤﻜﻦ ﺗﻌﺮﯾﻔﮭﺎ اﻧﮭﺎ ﻧﻈﺎم رﯾﺎﺿﻲ ﯾﺘﻜﻮن ﻣﻦ اﻟﺮﺑﺎﻋﯿﺔ > <N,∑,P,Sﺣﯿﺚ:
16
– Nأﺑﺠﺪﯾﺔ ﻋﻨﺎﺻﺮھﺎ رﻣﻮز ﺗﺴﻤﻰ ﻏﯿﺮ ﻃﺮﻓﯿﺔ Nonterminal symbols
– Pﻋﺒﺎرة ﻋﻦ ﻋﻼﻗﺔ ﻣﻦ ﺗﺸﻜﯿﻞ ﻣﺤﺪود ﻣﻦ )*∑ (N Uواﻟﺘﻲ ﻋﻨﺎﺻﺮھﺎ ﺗﺴﻤﻰ ﻗﻮاﻋﺪ اﻧﺘﺎج
.Production Rulesﻛﻤﺎ أن ﻛﻞ ﻣﻦ ھﺬه اﻟﻘﻮاﻋﺪ ) (α ,βﻓﻲ Pواﻟﺘﻲ ﺗﻤﺜﻞ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ α → βﯾﺠﺐ
أن ﺗﻤﺘﻠﻚ ﻋﻠﻰ اﻷﻗﻞ رﻣﺰا واﺣﺪا ﻏﯿﺮ ﻃﺮﻓﻲ .وﻓﻲ ﻛﻞ ﻣﻦ ھﺬه اﻟﻘﻮاﻋﺪ ﺗﺴﻤﻰ αﻧﺎﺣﯿﺔ اﻟﯿﺪ اﻟﯿﺴﺮى left-hand
sideﻣﻦ اﻟﻘﺎﻋﺪة ﻓﻲ ﺣﯿﻦ ﺗﺴﻤﻰ βﻧﺎﺣﯿﺔ اﻟﯿﺪ اﻟﯿﻤﻨﻰ right-hand sideﻣﻦ اﻟﻘﺎﻋﺪة.
}, ∑={a,b ﻣﺜﺎل :إذا ﻛﺎﻧﺖ> <N,∑,P,Sھﻲ Type 0 grammarوﻛﺎﻧﺖ }, N={S
} P={S→aSb,S→εﻓﺈن ھﺬه اﻟﻘﺎﻋﺪة ﺗﻤﺘﻠﻚ ﻋﻨﺼﺮ واﺣﺪ nonterminalوھﻮ , Sوﻋﻨﺼﺮان terminal
ھﻤﺎ a,bﺑﺎﻹﺿﺎﻓﺔ إﻟﻰ ﻗﺎﻋﺪﺗﺎ إﻧﺘﺎج Production Rulesھﻤﺎ S→aSbو . S→εواﻟﻘﺎﻋﺪﺗﺎن ﻣﻦ اﻟﻨﺎﺣﯿﺔ
اﻟﯿﺴﺮى ﺗﺘﻜﻮﻧﺎن ﻓﻘﻂ ﻣﻦ اﻟﺮﻣﺰ . Sاﻟﻨﺎﺣﯿﺔ اﻟﯿﻤﻨﻰ ﻟﻠﻘﺎﻋﺪة اﻷوﻟﻰ ھﻲ , aSbوﻟﻠﻘﺎﻋﺪة اﻟﺜﺎﻧﯿﺔ . ε
ﻣﺜﺎل <N1,∑1,P1,S> :ﻻ ﺗﻌﺘﺒﺮ ﻗﺎﻋﺪة إذا ﻛﺎﻧﺖ N1ﻣﺠﻤﻮﻋﺔ اﻷﻋﺪاد اﻟﻄﺒﯿﻌﯿﺔ أو إذا ﻛﺎﻧﺖ ∑1ﻓﺎرﻏﺔ ﻷﻧﮭﻤﺎ
ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﻻ ﺗﻌﺘﺒﺮان أﺑﺠﺪﯾﺎت.
اﻟﺒﺮاﻣﺞ : Programs
إن اﻻﻋﺘﻤﺎد اﻟﻜﺒﯿﺮ ﻋﻠﻰ ﻣﻌﺎﻟﺠﺔ اﻟﻤﻌﻠﻮﻣﺎت ﻗﺪ أدى إﻟﻰ اﻧﺘﺸﺎر واﺳﻊ ﻟﻠﺒﺮاﻣﺞ ﻋﻨﺪ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﺘﻄﺒﯿﻘﺎت
اﻟﻤﺨﺘﻠﻔﺔ .ﻓﺎﻟﺒﺮاﻣﺞ ﺗﺴﺘﺨﺪم ﻓﻲ اﻟﺒﯿﻮت ,أﻣﺎﻛﻦ اﻟﻌﻤﻞ اﻟﻤﺨﺘﻠﻔﺔ ,اﻟﺸﺮﻛﺎت ,اﻟﻤﺴﺘﺸﻔﯿﺎت ,واﻟﻤﺪارس وﻏﯿﺮھﺎ .وﯾﺘﻢ
اﺳﺘﺨﺪام ھﺬه اﻟﺒﺮاﻣﺞ ﻓﻲ ﻗﻄﺎع اﻟﺘﻌﻠﯿﻢ ,اﻷﻟﻌﺎب ,ﻋﻤﻠﯿﺎت اﻟﻄﺒﺎﻋﺔ واﻟﻨﺸﺮ ,إدارة اﻻﺗﺼﺎﻻت اﻟﮭﺎﺗﻔﯿﺔ ,اﻟﻔﺤﻮﺻﺎت
اﻟﻄﺒﯿﺔ وﺗﺸﺨﯿﺺ اﻷﻣﺮاض ,اﻟﺘﻨﺒﺆ ﺑﺎﻷﺣﻮال اﻟﺠﻮﯾﺔ وﺣﺎﻟﺔ اﻟﻄﻘﺲ ,اﻟﺘﺤﻜﻢ ﻓﻲ اﻟﻄﺎﺋﺮات وﻏﯿﺮھﺎ ﻣﻦ اﻟﻤﺠﺎﻻت.
وﻗﺪ ﺗﻢ ﺗﻄﻮﯾﺮ اﻟﻌﺪﯾﺪ ﻣﻦ ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ ﺑﻐﺮض ﺗﺴﮭﯿﻞ ﻣﮭﻤﺔ ﻛﺘﺎﺑﺔ اﻟﺒﺮاﻣﺞ ﻟﻤﺠﻤﻮﻋﺔ ﻛﺒﯿﺮة ﻣﻦ اﻟﺘﻄﺒﯿﻘﺎت
اﻟﻤﺨﺘﻠﻔﺔ .وھﺬا اﻟﺘﻨﻮع ﻓﻲ ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ ﯾﻌﻜﺲ اﻻﻧﻄﺒﺎﻋﺎت أو اﻟﺘﻔﺎﺳﯿﺮ اﻟﻤﺨﺘﻠﻔﺔ ﻟﻠﻤﻌﻠﻮﻣﺎت .وﻋﻠﻰ ﻛﻞ ﺣﺎل ﻓﻤﻦ
ﺟﮭﺔ اﻟﻘﺪرة ﻋﻠﻰ إﺟﺮاء ﻋﻤﻠﯿﺎت اﻟﺤﻮﺳﺒﺔ اﻟﻼزﻣﺔ ﻓﺈﻧﮫ ﻻ ﻓﺮق ﻛﺒﯿﺮ ﺑﯿﻨﮭﺎ .ﻟﺬﻟﻚ ﻋﻨﺪ دراﺳﺔ اﻟﺒﺮﻣﺠﺔ ﯾﻤﻜﻦ اﺳﺘﺨﺪام
ﻟﻐﺎت ﺑﺮﻣﺠﺔ ﻣﺨﺘﻠﻔﺔ .أﻣﺎ دراﺳﺔ اﻟﺒﺮاﻣﺞ ﻓﺘﻔﯿﺪﻧﺎ ﻓﻲ ﻋﻤﻠﯿﺔ اﺧﺘﯿﺎر ﻟﻐﺔ ﺑﺮﻣﺠﺔ ﻣﻌﯿﻨﺔ ﻻﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ ﺣﻞ ﻣﺴﺄﻟﺔ
ﻣﻌﯿﻨﺔ.
17
ﻋﻨﺪ دراﺳﺔ اﻟﺒﺮاﻣﺞ ﯾﻔﻀﻞ اﺧﺘﯿﺎر ﻟﻐﺔ ﺑﺮﻣﺠﺔ ﺗﺼﻠﺢ ﻟﺤﻞ اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﻤﺴﺎﺋﻞ اﻟﻌﺎﻣﺔ وﻓﻲ ﻧﻔﺲ اﻟﻮﻗﺖ أن ﺗﻜﻮن
ﺑﺴﯿﻄﺔ ﻛﻔﺎﯾﺔ ﻟﺘﺴﮭﯿﻞ ﻋﻤﻠﯿﺔ اﻟﺒﺤﺚ واﻟﺪراﺳﺔ.
ﯾﺘﻢ ﺗﻌﺮﯾﻒ اﻟﺒﺮﻧﺎﻣﺞ ﻋﻠﻰ أﻧﮫ ﻋﺒﺎرة ﻋﻦ ﻣﺘﺴﻠﺴﻠﺔ ﻣﻦ اﻷواﻣﺮ أو اﻟﺘﻌﻠﯿﻤﺎت Instructionsﻓﻲ اﻟﻤﺠﺎل
Domainاﻟﺬي ﯾﺮﻣﺰ ﻟﮫ . Dواﻟﻤﺠﺎل Dھﻮ ﻋﺒﺎرة ﻋﻦ ﻣﺠﺎل ﻣﻦ اﻟﻤﺘﻐﯿﺮات Variablesاﻟﺘﻲ ﯾﻔﺘﺮض أن ﺗﻜﻮن
ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻌﻨﺎﺻﺮ ﻣﻊ وﺟﻮد ﻋﻨﺼﺮ ﻣﺘﻤﯿﺰ ﯾﻌﻄﻲ اﻟﻘﯿﻤﺔ اﻷوﻟﯿﺔ ﻟﻠﻤﺘﻐﯿﺮات .وﯾﻌﺘﺒﺮ ﻛﻞ ﻋﻨﺼﺮ ﻣﻦ ﻋﻨﺎﺻﺮ D
ﻗﯿﻤﺔ ﺗﺼﻠﺢ ﻟﺘﻤﺜﯿﻞ اﻟﻤﺘﻐﯿﺮات ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ .أﻣﺎ ﺗﺴﻠﺴﻞ اﻟﺘﻌﻠﯿﻤﺎت ﻓﯿﻜﻮن ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ:
read x
write x
f. where x1, . . . , xm, and y are variables, and f is a function from Dm to D.
g. Conditional if instructions of the form ﺗﻌﻠﯿﻤﺎت اﻟﺤﺎﻟﺔ اﻟﺸﺮﻃﯿﺔ if
18
Do
reject
x := ?
n. where x is a variable.
o. Nondeterministic looping instructions of the form
Do
1
or
2
or
or
k
until Q(x1, . . . , xm)
19
p. where k 2, each of α1, . . , αk is a nonempty sequence of instructions, x 1, . .
. xm are variables, and Q is a predicate from Dm to {false, true}.
ﻓﻲ ﻛﻞ ﺑﺮﻧﺎﻣﺞ ﯾﻔﺘﺮض أن ﯾﻜﻮن ﻣﺠﺎل اﻟﻤﺘﻐﯿﺮات Dﺗﻤﺜﯿﻼ ﻟﺒﻌﺾ اﻷﺑﺠﺪﯾﺎت .ﻓﻌﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ﯾﻤﻜﻦ أن ﯾﻜﻮن
Dﻣﺠﻤﻮﻋﺔ اﻷﻋﺪاد اﻟﻄﺒﯿﻌﯿﺔ ,ﻣﺠﻤﻮﻋﺔ اﻷﻋﺪاد اﻟﺼﺤﯿﺤﺔ أو أي ﻣﺠﻤﻮﻋﺔ ﻣﺤﺪودة ﻣﻦ اﻟﻌﻨﺎﺻﺮ .أﻣﺎ اﻟﺪوال
Q,fﻓﯿﻔﺘﺮض أن ﺗﻜﻮن ﻣﻌﻄﺎة ﺿﻤﻦ ﻣﺠﻤﻮﻋﺔ اﻟﺪوال اﻟﺤﺴﺎﺑﯿﺔ اﻟﻤﺒﻨﯿﺔ .ﺗﺒﻌﺎ ﻟﺬﻟﻚ ﻓﺈن ﻣﺠﺎل اﻟﻤﺘﻐﯿﺮات ﻟﻦ
ﯾﻜﻮن ﻣﺼﺮح ﺑﮫ ﺑﺸﻜﻞ واﺿﺢ إذا ﻛﺎﻧﺖ ﻗﻠﯿﻠﺔ اﻷھﻤﯿﺔ.
اﻟﺒﺮاﻣﺞ اﻟﺘﻲ ﺗﻜﻮن ﺑﺪون ﺗﻌﻠﯿﻤﺎت ﻏﯿﺮ ﻗﻄﻌﯿﺔ Nondeterministic Instructionsﺗﺴﻤﻰ ﺑﺮاﻣﺞ ﻗﻄﻌﯿﺔ
. Deterministic Programsأﻣﺎ اﻟﺒﺮاﻣﺞ اﻟﺘﻲ ﺗﺤﺘﻮي ﻋﻠﻰ ﺗﻌﻠﯿﻤﺎت ﻏﯿﺮ ﻗﻄﻌﯿﺔ ﻓﺘﺴﻤﻰ ﺑﺮاﻣﺞ ﻏﯿﺮ
ﻗﻄﻌﯿﺔ . Nondeterministic Programs
ﻣﺜﺎل:
read x
y:=0
z:=1
do
y: = y+1
z : = z+1
Until z = x
read y
reject
ﻓﻲ ھﺬا اﻟﺒﺮﻧﺎﻣﺞ اﻟﻘﻄﻌﻲ اﺳﺘﺨﺪﻣﺖ ﺛﻼﺛﺔ ﻣﺘﻐﯿﺮات أﺳﻤﺎؤھﺎ . x,y,zﻛﻤﺎ أن ھﻨﺎك ﺗﻌﻠﯿﻤﺘﺎن ھﻤﺎ اﻟﺪاﻟﺔ اﻟﺜﺎﺑﺘﺔ
, f1() = 0واﻟﺪاﻟﺔ اﻷﺣﺎدﯾﺔ f2(n)= n+1اﻟﺘﻲ ﺗﻘﻮم ﺑﺈﺿﺎﻓﺔ . 1
z:=z+1
20
وﻣﻦ اﻟﻤﮭﻢ اﻟﺬﻛﺮ ھﻨﺎ أﻧﮫ ﺗﻢ ﻓﺮض ﻣﺠﻤﻮﻋﺔ اﻷﻋﺪاد اﻟﻄﺒﯿﻌﯿﺔ ﻟﻤﺠﺎل اﻟﻤﺘﻐﯿﺮات ﻣﻊ اﻋﺘﻤﺎد 0ﻗﯿﻤﺔ أوﻟﯿﺔ أو
اﺑﺘﺪاﺋﯿﺔ.
do
read x
or
?=y:
write y
Until y = x
ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﯾﺴﺘﺨﺪم ﺗﻌﻠﯿﻤﺘﯿﻦ ﻏﯿﺮ ﻗﻄﻌﯿﺘﯿﻦ ھﻤﺎ ﺗﻌﻠﯿﻤﺔ اﻟﺘﺼﺮﯾﺢ ﻋﻠﻰ اﻟﺸﻜﻞ ”?= , “y:واﻷﺧﺮى ھﻲ
ﺗﻌﻠﯿﻤﺔ اﻟﺤﻠﻘﺔ ﻋﻠﻰ اﻟﺸﻜﻞ ”. “do-or-until-
أﻣﺎ ﻣﺪﺧﻼت اﻟﺒﺮﻧﺎﻣﺞ ﻓﮭﻲ ﻋﺒﺎرة ﻋﻦ ﺗﺴﻠﺴﻞ ﻋﻨﺎﺻﺮ ﻣﻦ ﻣﺠﺎل ﻣﺘﻐﯿﺮات اﻟﺒﺮﻧﺎﻣﺞ وﻛﻞ ﻋﻨﺼﺮ ﻣﻦ ﻣﺪﺧﻼت
اﻟﺒﺮﻧﺎﻣﺞ ﯾﺴﻤﻰ ﻗﯿﻤﺔ إدﺧﺎل . Input value
21
ﻧﻈﺮﯾﺔ اﻟﺤﻮﺳﺒﺔ وأﻗﺴﺎﻣﮭﺎ اﻟﺮﺋﯿﺴﯿﺔ:
ﻋﻨﺪ دراﺳﺔ ﻧﻈﺮﯾﺔ اﻟﺤﻮﺳﺒﺔ ﻓﺈﻧﮫ ﯾﺠﺐ اﻟﺘﺮﻛﯿﺰ ﻋﻠﻰ اﻷﻗﺴﺎم اﻟﺜﻼﺛﺔ اﻟﺮﺋﯿﺴﯿﺔ اﻟﺘﻲ ﺗﻜﻮن ھﺬا اﻟﻌﻠﻢ وھﻲ:
ھﺬه اﻷﻗﺴﺎم اﻟﺮﺋﯿﺴﯿﺔ اﻟﺜﻼث ﯾﺠﻤﻌﮭﺎ ﺳﺆال واﺣﺪ ھﻮ ":ﻣﺎ ھﻲ اﻟﻘﺪرات اﻷﺳﺎﺳﯿﺔ ﻟﻠﺤﺎﺳﻮب وﻣﺎ ھﻲ ﺣﺪود ھﺬه
اﻟﻘﺪرات؟" .وﻛﻞ واﺣﺪ ﻣﻦ ھﺬه اﻷﻗﺴﺎم ﯾﺠﯿﺐ ﻋﻠﻰ ھﺬا اﻟﺴﺆال ﻣﻦ زاوﯾﺔ ﻣﺨﺘﻠﻔﺔ ﺣﯿﺚ ﺗﻌﺘﻤﺪ اﻹﺟﺎﺑﺔ ﻋﻠﻰ ﻃﺮﯾﻘﺔ
ﺗﻔﺴﯿﺮ ﻛﻞ ﻗﺴﻢ ﻟﮭﺬا اﻟﺴﺆال.
ﻧﻈﺮﯾﺔ اﻟﺘﻌﻘﯿﺪ اﻟﺤﺴﺎﺑﻲ :إن اﻟﻤﺴﺎﺋﻞ اﻟﺘﻲ ﺗﻘﻮم اﻟﺤﻮاﺳﯿﺐ ﺑﺤﻠﮭﺎ ﺗﺨﺘﻠﻒ ﻋﻦ ﺑﻌﻀﮭﺎ اﻟﺒﻌﺾ ﺣﯿﺚ ﯾﻤﻜﻦ أن
ﯾﻜﻮن ﺑﻌﻀﮭﺎ ﺳﮭﻼ واﻵﺧﺮ ﺻﻌﺒﺎ .ﻓﻤﺜﻼ ﻋﻤﻠﯿﺔ اﻟﻔﺮز واﻟﺘﺮﺗﯿﺐ Sorting Problemﺗﻌﺘﺒﺮ ﻣﻦ اﻟﻌﻤﻠﯿﺎت اﻟﺴﮭﻠﺔ
ﻟﺬﻟﻚ ﻓﺈن ﺗﺮﺗﯿﺐ ﻗﺎﺋﻤﺔ ﻣﻦ اﻷﻋﺪاد ﺗﺮﺗﯿﺒﺎ ﺗﺼﺎﻋﺪﯾﺎ ﺗﻌﺘﺒﺮ ﻋﻤﻠﯿﺔ ﺳﮭﻠﺔ ﺑﺤﯿﺚ ﯾﻤﻜﻦ ﻷي ﺣﺎﺳﻮب ﺻﻐﯿﺮ أن ﯾﻘﻮم
ﺑﺘﺮﺗﯿﺐ ﻣﻼﯾﯿﻦ اﻷﻋﺪاد وﺑﺴﺮﻋﺔ ﻛﺒﯿﺮة ﺟﺪا .وﻟﻮ ﻗﺎرﻧﺎ ھﺬه اﻟﻌﻤﻠﯿﺔ ﺑﻌﻤﻠﯿﺔ اﻟﺠﺪوﻟﺔ Scheduling Problem
ﻓﺄﻧﻨﺎ ﻧﺠﺪ أن اﻟﺠﺪوﻟﺔ ﺗﻌﺘﺒﺮ ﻋﻤﻠﯿﺔ أﻛﺜﺮ ﺗﻌﻘﯿﺪا ﺑﺴﺒﺐ وﺟﻮد ﻗﯿﻮد ﻋﻠﻰ ھﺬه اﻟﻌﻤﻠﯿﺔ ﻓﻤﺜﻼ ﻋﻨﺪ إﻋﺪاد ﺟﺪول
اﻟﻤﺤﺎﺿﺮات اﻷﺳﺒﻮﻋﻲ ﻓﺈﻧﮫ ﯾﺠﺐ أن ﻻ ﯾﺤﺪث ﺗﻌﺎرض ﻛﻮﺟﻮد ﺻﻔﯿﻦ ﻓﻲ ﻧﻔﺲ اﻟﻘﺎﻋﺔ ﻓﻲ ﻧﻔﺲ اﻟﻮﻗﺖ أو وﺟﻮد
أﺳﺘﺎذ ﻓﻲ ﺻﻔﯿﻦ ﻣﺨﺘﻠﻔﯿﻦ ﻓﻲ ﻧﻔﺲ اﻟﻮﻗﺖ وھﻜﺬا .وھﻨﺎ ﯾﺒﺮز ﺳﺆال ھﺎم وھﻮ "ﻣﺎ اﻟﺬي ﯾﺠﻌﻞ ﺣﻞ ﺑﻌﺾ اﻟﻤﺴﺎﺋﻞ
ﺑﻮاﺳﻄﺔ اﻟﺤﺎﺳﻮب ﺻﻌﺒﺔ وﺑﻌﻀﮭﺎ اﻵﺧﺮ ﺳﮭﻼ؟" وھﺬا ھﻮ اﻟﺴﺆال اﻟﻤﺮﻛﺰي ﻓﻲ ﻧﻈﺮﯾﺔ اﻟﺘﻌﻘﯿﺪ اﻟﺤﺴﺎﺑﻲ .وﺗﺠﺪر
اﻟﻤﻼﺣﻈﺔ أﻧﻨﺎ ﻻ ﻧﺴﺘﻄﯿﻊ اﻻﺟﺎﺑﺔ ﻋﻠﻰ ھﺬا اﻟﺴﺆال رﻏﻢ اﻷﺑﺤﺎث واﻟﺪراﺳﺎت اﻟﺘﻲ ﺗﺠﺮي ﻣﻨﺬ ﺛﻼﺛﺔ ﻋﻘﻮد .وﻣﻦ أھﻢ
اﻹﻧﺠﺎزات ﻓﻲ ﻧﻈﺮﯾﺔ اﻟﺘﻌﻘﯿﺪ اﻟﺤﺴﺎﺑﻲ ھﻮ اﻟﻮﺻﻮل اﻟﻰ ﻣﺨﻄﻂ ﯾﻤﻜﻦ ﻣﻦ ﺧﻼﻟﮫ ﺗﺼﻨﯿﻒ اﻟﻤﺴﺎﺋﻞ ﺣﺴﺐ ﺻﻌﻮﺑﺔ
ﺣﻠﮭﺎ ﺣﺎﺳﻮﺑﯿﺎ .ﺑﻮاﺳﻄﺔ ھﺬا اﻟﻤﺨﻄﻂ ﯾﻤﻜﻦ ﻋﺮض ﻃﺮﯾﻘﺔ ﻟﻠﺪﻻﻟﺔ ﻋﻠﻰ أن ﻣﺴﺄﻟﺔ ﻣﺎ ﺻﻌﺒﺔ اﻟﺤﻞ ﺣﺎﺳﻮﺑﯿﺎ ﺣﺘﻰ وﻟﻮ
ﻟﻢ ﯾﻜﻦ ﺑﺎﻹﻣﻜﺎن إﺛﺒﺎت ذﻟﻚ.
وھﻨﺎك ﻋﺪة ﺧﯿﺎرات ﺗﻈﮭﺮ ﻋﻨﺪ ﻣﻮاﺟﮭﺔ ﻣﺴﺄﻟﺔ ﺗﻌﺘﺒﺮ ﺻﻌﺒﺔ اﻟﺤﻞ وھﻲ:
ﻣﻦ ﺧﻼل ﺗﺤﺪﯾﺪ وﻓﮭﻢ اﻟﺠﺎﻧﺐ اﻟﺼﻌﺐ ﻣﻦ اﻟﻤﺴﺄﻟﺔ وﻣﺤﺎوﻟﺔ اﺳﺘﺒﺪاﻟﮫ ﻣﻤﺎ ﻗﺪ ﯾﺠﻌﻞ ﺣﻞ اﻟﻤﺴﺄﻟﺔ أﻛﺜﺮ .1
ﺳﮭﻮﻟﺔ.
ﺣﺼﺮ ﺧﯿﺎرات اﻟﺤﻞ ﻓﻲ ﺣﻞ واﺣﺪ ﯾﻜﻮن ھﻮ اﻷﻣﺜﻞ وﻓﻲ ﺑﻌﺾ اﻟﺤﺎﻻت إﯾﺠﺎد ﺣﻠﻮل ﺗﻘﺮب ﻣﻦ اﻟﺤﻞ اﻟﺼﺤﯿﺢ .2
وﺗﺠﻌﻞ اﻟﺤﻞ ﺻﺤﯿﺢ ﻧﺴﺒﯿﺎ.
ﺑﻌﺾ اﻟﻤﺴﺎﺋﻞ ﺗﻌﺘﺒﺮ ﺻﻌﺒﺔ ﻓﻲ ﺣﺎﻻت ﻣﻌﯿﻨﺔ ﻓﻘﻂ وﻟﻜﻨﮭﺎ ﻣﻌﻈﻢ اﻟﻮﻗﺖ ﺗﻌﺘﺒﺮ ﺳﮭﻠﺔ .وﺣﺴﺐ اﻟﺘﻄﺒﯿﻖ .3
Applicationﻓﺈﻧﮫ ﻗﺪ ﯾﻜﻮن ﻛﺎﻓﯿﺎ أﯾﺠﺎد إﺟﺮاء Procedureﻗﺪ ﯾﺴﺘﻐﺮق اﻟﻮﺻﻮل إﻟﯿﮫ زﻣﻨﺎ ﻃﻮﯾﻼ
وﻟﻜﻨﮫ ﻋﺎدة ﯾﻨﻔﺬ ﺑﺴﺮﻋﺔ.
ﯾﻤﻜﻦ اﻋﺘﻤﺎد أﻧﻮاع ﺑﺪﯾﻠﺔ ﻟﻠﺤﻮﺳﺒﺔ ﻣﺜﻞ اﻟﺤﻮﺳﺒﺔ اﻟﻌﺸﻮاﺋﯿﺔ Randomized Computationاﻟﺘﻲ .4
ﯾﻤﻜﻨﮭﺎ ﺗﺴﺮﯾﻊ ﺑﻌﺾ اﻟﻤﮭﺎم . Tasks
22
أﺣﺪ اﻟﻤﺠﺎﻻت اﻟﺘﻄﺒﯿﻘﯿﺔ اﻟﺘﻲ ﺗﺘﺄﺛﺮ ﻣﺒﺎﺷﺮة ﺑﻨﻈﺮﯾﺔ اﻟﺘﻌﻘﯿﺪ اﻟﺤﺴﺎﺑﻲ ھﻮ ﻋﻠﻢ اﻟﺘﺸﻔﯿﺮ Cryptographyوﻓﻲ
أﻏﻠﺐ اﻟﻤﺠﺎﻻت ﯾﺘﻢ ﺗﻔﻀﯿﻞ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﺴﺎﺋﻞ اﻟﺴﮭﻠﺔ ﻋﻠﻰ اﻟﻤﺴﺎﺋﻞ اﻟﺼﻌﺒﺔ ﻷن ﺣﻞ ھﻜﺬا ﻧﻮع ﻣﻦ اﻟﻤﺴﺎﺋﻞ ﯾﻌﺘﺒﺮ
اﺳﮭﻞ وأرﺧﺺ ﺛﻤﻨﺎ .وﯾﻌﺘﺒﺮ اﻟﺘﺸﻔﯿﺮ ﺷﯿﺌﺎ ﻏﯿﺮ ﻋﺎدﯾﺎ ﻷﻧﮫ ﯾﺘﺼﻒ ﺑﺎﻟﺤﺎﺟﺔ إﻟﻰ ﺣﻠﻮل ﺣﺎﺳﻮﺑﯿﺔ ﺻﻌﺒﺔ وﺳﺒﺐ ذﻟﻚ
أن اﻟﺮﻣﻮز اﻟﺴﺮﯾﺔ أو اﻷﻛﻮاد اﻟﻤﺴﺘﺨﺪﻣﺔ ﯾﺠﺐ أن ﺗﻜﻮن ﺻﻌﺒﺔ اﻟﻜﺴﺮ )أي ﻣﻌﺮﻓﺘﮭﺎ ﺻﻌﺒﺔ( ﺑﺪون اﻟﺤﺼﻮل ﻋﻠﻰ
ﻛﻠﻤﺔ اﻟﺴﺮ أو اﻟﻤﻔﺘﺎح .ﻟﺬﻟﻚ ﻓﺈن ﻧﻈﺮﯾﺔ اﻟﺘﻌﻘﯿﺪ اﻟﺤﺴﺎﺑﻲ ﺗﻮﺟﮫ اﻟﻌﺎﻣﻠﯿﻦ ﻓﻲ ﻣﺠﺎل اﻟﺘﺸﻔﯿﺮ ﺑﺎﺗﺠﺎه اﻟﻤﺴﺎﺋﻞ ﺻﻌﺒﺔ
اﻟﺤﻞ وﺗﺴﺎﻋﺪ ﻓﻲ ﻋﻤﻠﮭﻢ ﻟﺘﺼﻤﯿﻢ ﺷﻔﺮات ﺟﺪﯾﺪة وﻗﻮﯾﺔ.
ﻧﻈﺮﯾﺔ اﻟﺘﺤﺴﯿﺐ :ﻓﻲ اﻟﻨﺼﻒ اﻷول ﻣﻦ اﻟﻘﺮن اﻟﻌﺸﺮﯾﻦ اﻛﺘﺸﻒ ﺑﻌﺾ ﻋﻠﻤﺎء اﻟﺮﯾﺎﺿﯿﺎت ﻣﺜﻞ ﻛﻮرت ﻏﻮدﯾﻞ و
آﻻن ﺗﻮرﯾﻨﻎ وﻏﯿﺮھﻢ أن ﺑﻌﺾ اﻟﻤﺴﺎﺋﻞ اﻷﺳﺎﺳﯿﺔ ﻻ ﯾﻤﻜﻦ ﺣﻠﮭﺎ ﺑﻮاﺳﻄﺔ اﻟﺤﺎﺳﻮب .إﺣﺪى ھﺬه اﻟﻈﻮاھﺮ ھﻲ ﻣﺴﺄﻟﺔ
ﺗﺤﺪﯾﺪ ﻓﯿﻤﺎ إذا ﻛﺎﻧﺖ ﻋﺒﺎرة رﯾﺎﺿﯿﺔ ﻣﺎ ﺻﺎﺋﺒﺔ أم ﺧﺎﻃﺌﺔ ﻷن ﺣﻞ ھﺬه اﻟﻤﺴﺄﻟﺔ ﺑﻮاﺳﻄﺔ اﻟﺤﺎﺳﻮب ﻗﺪ ﯾﺒﺪو ﺷﯿﺌﺎ ﻣﻤﻜﻨﺎ
وﻟﻜﻦ ﻓﻲ اﻟﻮاﻗﻊ ﻻ ﺗﻮﺟﺪ أﯾﺔ ﺧﻮارزﻣﯿﺔ ﺗﺴﺘﻄﯿﻊ إﻧﺠﺎز ھﺬه اﻟﻤﮭﻤﺔ .وﻧﻈﺮا ﻷھﻤﯿﺔ ھﺬه اﻟﻨﺘﯿﺠﺔ ﻓﻘﺪ ﺗﻢ ﺗﻄﻮﯾﺮ ﺑﻌﺾ
اﻷﻓﻜﺎر اﻟﺘﻲ ﺗﮭﺘﻢ ﺑﺎﻟﻨﻤﺎذج اﻟﻨﻈﺮﯾﺔ ﻟﻠﺤﺎﺳﻮب Theoretical Models of Computersواﻟﺘﻲ ﺳﻮف ﺗﺴﺎﻋﺪ
ﻓﻲ إﯾﺠﺎد ﺗﺮاﻛﯿﺐ ﻟﺤﻮاﺳﯿﺐ ﺣﻘﯿﻘﯿﺔ.
إن ﻧﻈﺮﯾﺔ اﻟﺘﺤﺴﯿﺐ وﻧﻈﺮﯾﺔ اﻟﺘﻌﻘﯿﺪ اﻟﺤﺴﺎﺑﻲ ﻗﺮﯾﺒﺘﺎن ﺟﺪا ﻣﻦ ﺑﻌﻀﮭﻤﺎ ﻓﻔﻲ ﻧﻈﺮﯾﺔ اﻟﺘﻌﻘﯿﺪ اﻟﺤﺴﺎﺑﻲ اﻟﻤﻮﺿﻮع
اﻷﺳﺎﺳﻲ ھﻮ ﺗﺼﻨﯿﻒ اﻟﻤﺴﺎﺋﻞ وﻓﺮزھﺎ إﻟﻰ ﺻﻌﺒﺔ وﺳﮭﻠﺔ ﻓﻲ ﺣﯿﻦ ﻧﻈﺮﯾﺔ اﻟﺘﺤﺴﯿﺐ ﺗﻘﻮم ﺑﺘﺼﻨﯿﻒ اﻟﻤﺴﺎﺋﻞ إﻟﻰ
ﻣﺴﺎﺋﻞ ﻗﺎﺑﻠﺔ ﻟﻠﺤﻞ أو ﻏﯿﺮ ﻗﺎﺑﻠﺔ ﻟﻠﺤﻞ.
ﻧﻈﺮﯾﺔ اﻟﺘﺸﻐﯿﻞ اﻟﺬاﺗﻲ :ﺗﺘﻌﺎﻣﻞ ھﺬه اﻟﻨﻈﺮﯾﺔ ﻣﻊ ﺗﻌﺮﯾﻔﺎت وﺧﺼﺎﺋﺺ اﻟﻨﻤﺎذج اﻟﺮﯾﺎﺿﯿﺔ .وھﺬه اﻟﻨﻤﺎذج ﺗﻠﻌﺐ
دورا ﻣﮭﻤﺎ ﻓﻲ اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﻤﺠﺎﻻت اﻟﺘﻄﺒﯿﻘﯿﺔ ﻟﻌﻠﻮم اﻟﺤﺎﺳﻮب .أﺣﺪ ھﺬه اﻟﻨﻤﺎذج ﯾﺴﻤﻰ "اﻟﺘﺸﻐﯿﻞ اﻟﺬاﺗﻲ اﻟﻤﺤﺪود"
Finite Automatonواﻟﺬي ﯾﺴﺘﺨﺪم ﻓﻲ ﻣﻌﺎﻟﺠﺔ اﻟﻨﺼﻮص وﻓﻲ اﻟﻤﺘﺮﺟﻤﺎت وﻛﺬﻟﻚ ﻓﻲ ﺗﺼﻤﯿﻢ ﻣﻌﺪات
اﻟﺤﺎﺳﻮب .ﻧﻤﻮذج آﺧﺮ ﯾﺴﻤﻰ "ﻗﺎﻋﺪة اﻟﺴﯿﺎق اﻟﺤﺮ" Context-Free Grammarواﻟﺬي ﯾﺴﺘﺨﺪم ﻓﻲ ﻟﻐﺎت
اﻟﺒﺮﻣﺠﺔ واﻟﺬﻛﺎء اﻻﺻﻄﻨﺎﻋﻲ .وﺗﻌﺘﺒﺮ دراﺳﺔ ﻧﻈﺮﯾﺔ اﻟﺘﺸﻐﯿﻞ اﻟﺬاﺗﻲ ﺑﺪاﯾﺔ ﻣﻨﺎﺳﺒﺔ ﻟﺪراﺳﺔ ﻧﻈﺮﯾﺔ اﻟﺤﻮﺳﺒﺔ وذﻟﻚ
ﻷن ﻧﻈﺮﯾﺔ اﻟﺘﺤﺴﯿﺐ وﻧﻈﺮﯾﺔ اﻟﺘﻌﻘﯿﺪ اﻟﺤﺴﺎﺑﻲ ﺗﺘﻄﻠﺐ ﺗﻌﺮﯾﻔﺎت دﻗﯿﻘﺔ ﻟﻠﺤﻮﺳﺒﺔ أﻣﺎ ﻧﻈﺮﯾﺔ اﻟﺘﺸﻐﯿﻞ اﻟﺬاﺗﻲ ﻓﺘﺴﻤﺢ
ﺑﺎﻟﺘﻄﺒﯿﻖ ﻣﻦ ﺧﻼل ﺗﻌﺮﯾﻔﺎت ﺷﻜﻠﯿﺔ ﻟﻠﺤﻮﺳﺒﺔ ﺣﯿﺚ أﻧﮭﺎ ﺗﻘﻮم ﺑﺘﻘﺪﯾﻢ ﻣﺒﺎدئ ﻟﮭﺎ ﻋﻼﻗﺔ ﺑﺎﻟﺠﻮاﻧﺐ ﻏﯿﺮ اﻟﻨﻈﺮﯾﺔ ﻟﻌﻠﻮم
اﻟﺤﺎﺳﻮب.
ﺗﺒﺪأ ﻧﻈﺮﯾﺔ اﻟﺤﻮﺳﺒﺔ ﺑﺎﻟﺴﺆال "ﻣﺎ ھﻮ اﻟﺤﺎﺳﻮب؟" ﻗﺪ ﯾﺒﺪو ھﺬا ﺳﺆاﻻ ﺳﺎذﺟﺎ ﻟﻜﻦ ﻓﻲ واﻗﻊ اﻷﻣﺮ ﻓﺈن اﻟﺤﺎﺳﻮب
اﻟﺤﻘﯿﻘﻲ ﻣﻌﻘﺪ ﺟﺪا ﻟﺪرﺟﺔ ﻻ ﺗﺴﻤﺢ ﺑﺘﻄﺒﯿﻖ اﻟﻨﻈﺮﯾﺎت اﻟﺮﯾﺎﺿﯿﺔ ﻋﻠﯿﮭﺎ ﻣﺒﺎﺷﺮة وﺑﺪﻻ ﻣﻦ ذﻟﻚ ﻓﺈﻧﻨﺎ ﻧﺴﺘﺨﺪم ﺣﺎﺳﻮﺑﺎ
ﻣﺜﺎﻟﯿﺎ ﯾﺴﻤﻰ اﻟﻨﻤﻮذج اﻟﺤﺎﺳﻮﺑﻲ . Computational Model
وﻛﻤﺎ ھﻮ اﻟﺤﺎل ﺑ ﺎﻟﻨﺴﺒﺔ ﻷي ﻧﻤﻮذج ﻋﻠﻤﻲ ﻓﺈن اﻟﻨﻤﺎذج اﻟﺤﺎﺳﻮﺑﯿﺔ ﻗﺪ ﺗﻜﻮن دﻗﯿﻘﺔ ﻓﻲ ﺑﻌﺾ اﻷﺣﯿﺎن وﻏﯿﺮ دﻗﯿﻘﺔ
ﻓﻲ ﺑﻌﻀﮭﺎ اﻵﺧﺮ .وﺑﺎﻟﺘﺎﻟﻲ ﻓﺈﻧﻨﺎ ﺳﻮف ﻧﺴﺘﺨﺪم ﻧﻤﺎذج ﻣﺨﺘﻠﻔﺔ وذﻟﻚ ﺣﺴﺐ اﻟﺠﻮاﻧﺐ اﻟﺘﻲ ﯾﺘﻢ اﻟﺘﺮﻛﯿﺰ ﻋﻠﯿﮭﺎ.
وﺳﻮف ﻧﺒﺪأ ﺑﺄﺑﺴﻂ ﻧﻤﻮذج واﻟﺬي ﯾﺴﻤﻰ ﻧﻤﻮذج اﻟﺘﺸﻐﯿﻞ اﻟﺬاﺗﻲ اﻟﻤﺤﺪود Finite State Machineأو Finite
. Automaton
ﺗﻌﺘﺒﺮ ھﺬه اﻟﻨﻤﺎذج ﻣﻨﺎﺳﺒﺔ ﻟﻠﺤﻮاﺳﯿﺐ اﻟﺘﻲ ﺗﻤﺘﻠﻚ ذاﻛﺮة ﻣﺤﺪودة ﺟﺪا .وھﺬا ﻻ ﯾﻘﻠﻞ ﻣﻦ اﻷﺷﯿﺎء اﻟﺘﻲ ﯾﻤﻜﻦ ﻟﮭﻜﺬا
ﺣﻮاﺳﯿﺐ ﻓﻌﻠﮭﺎ .وﻧﺤﻦ ﻓﻲ واﻗﻊ اﻷﻣﺮ ﻧﺘﻌﺎﻣﻞ ﻣﻊ ھﻜﺬا ﺣﻮاﺳﯿﺐ ﻃﻮل اﻟﻮﻗﺖ ﺣﯿﺚ أﻧﮭﺎ ﺗﻘﻊ ﻓﻲ اﻟﻘﻠﺐ ﻣﻦ ﻣﺨﺘﻠﻒ
23
اﻵﻻت اﻟﻜﮭﺮوﻣﯿﻜﺎﻧﯿﻜﯿﺔ ﻣﺜﻞ اﻷﺑﻮاب اﻵﻟﯿﺔ اﻟﺘﻲ ﻧﺮاھﺎ ﻋﺎدة ﻓﻲ ﻣﺪاﺧﻞ اﻟﻤﻄﺎرات واﻟﻤﺤﻼت اﻟﺘﺠﺎرﯾﺔ وﻏﯿﺮھﺎ
واﻟﺘﻲ ﺗﺤﺘﻮي ﻋﻠﻰ ﻣﺘﺤﻜﻢ Controllerﯾﻘﻮم ﺑﺎﻟﺘﺤﻜﻢ ﻓﻲ ﻓﺘﺢ اﻟﺒﺎب ﻋﻨﺪ اﻗﺘﺮاب ﺟﺴﻢ ﻣﺎدي ﻟﻤﺴﺎﻓﺔ ﻣﻌﯿﻨﺔ.
Front Rear
pad pad
Automatic door
ﻓﻲ ھﺬه اﻷﻧﻮاع ﻣﻦ اﻷﺑﻮاب ﺗﻜﻮن ھﻨﺎك ﻣﻨﻄﻘﺔ أﻣﺎم اﻟﺒﺎب ) (Front Padﻓﻲ ﺣﺎﻟﺔ ﺗﻮاﺟﺪ أي ﺟﺴﻢ ﻣﺎدي
ﻓﻲ ھﺬه اﻟﻤﻨﻄﻘﺔ ﻓﺈن ھﻨﺎك ﻣﺠﺴﺎت ﺗﺸﻌﺮ ﺑﮭﺬا اﻟﺠﺴﻢ وﺗﻨﻘﻞ اﻹﺷﺎرة إﻟﻰ ﻣﺘﺤﻜﻢ Controllerاﻟﺬي ﯾﻘﻮم
ﺑﺘﺤﻠﯿﻞ وﺗﻔﺴﯿﺮ ھﺬه اﻹﺷﺎرة ﺛﻢ ﯾﺼﺪر أﻣﺮا إﻟﻰ اﻷﺟﺰاء اﻟﻤﯿﻜﺎﻧﯿﻜﯿﺔ ﻟﺘﻘﻮم ﺑﻔﺘﺢ اﻟﺒﺎب وھﻲ اﻟﺤﺎﻟﺔ .Openﻛﻤﺎ
أن ھﻨﺎك ﻣﻨﻄﻘﺔ ﺧﻠﻒ اﻟﺒﺎب ) (Rear Padإذا ﺗﻮاﺟﺪ ﻓﯿﮭﺎ ﺟﺴﻢ ﻣﺎدي ﯾﻘﻮم اﻟﻤﺘﺤﻜﻢ ﺑﺈﺻﺪار إﺷﺎرات ﺗﺒﻘﻲ
اﻟﺒﺎب ﻣﻔﺘﻮﺣﺎ ﺑﺎﻟﻘﺪر اﻟﻜﺎﻓﻲ ﻣﻦ اﻟﺰﻣﻦ ﻟﻜﻲ ﯾﻌﺒﺮ ھﺬا اﻟﺠﺴﻢ ﻣﻦ ﺧﻼل اﻟﺒﺎب وإذا ﻛﺎﻧﺖ ﺣﺎﻟﺔ اﻟﺒﺎب Open
وﺗﻮاﺟﺪ ﺟﺴﻢ ﺧﻠﻒ اﻟﺒﺎب ﻓﺈن ﺣﺎﻟﺔ اﻟﺒﺎب ﺗﺒﻘﻰ Openوذﻟﻚ ﺣﺘﻰ ﻻ ﯾﺘﻌﺮض ھﺬا اﻟﺠﺴﻢ ﻟﻸذى إذا ﺗﻢ إﻏﻼق
اﻟﺒﺎب .أي أن ﻣﮭﻤﺔ اﻟﻤﺘﺤﻜﻢ ھﻮ ﺗﻐﯿﯿﺮ ﺣﺎﻟﺔ اﻟﺒﺎب ﻣﻦ Openإﻟﻰ Closedواﻟﻌﻜﺲ.
Rear Front
Both Rear
Neither Front Both
Closed Open
Neither
اﻟﺸﻜﻞ أﻋﻼه ھﻮ ﻋﺒﺎرة ﻋﻦ ﻣﺨﻄﻂ ﺣﺎﻟﺔ ﻣﺘﺤﻜﻢ اﻟﺒﺎب اﻵﻟﻲ .وﻣﻦ ھﺬا اﻟﻤﺨﻄﻂ ﻧﻼﺣﻆ أن ھﻨﺎك ﺣﺎﻟﺘﺎن
ﻟﻠﻤﺘﺤﻜﻢ ھﻲ Openو Closedوﻛﺬﻟﻚ أرﺑﻌﺔ اﺣﺘﻤﺎﻻت ﻟﻠﻘﯿﻢ اﻟﺘﻲ ﯾﻤﻜﻦ إدﺧﺎﻟﮭﺎ إﻟﻰ ھﺬا اﻟﻨﻈﺎم .وﺑﻨﺎءا ﻋﻠﻰ
ھﺬه اﻟﻤﺪﺧﻼت ﯾﻘﻮم اﻟﻤﺘﺤﻜﻢ ﺑﺘﻐﯿﯿﺮ ﺣﺎﻟﺘﮫ ﻣﻦ Openإﻟﻰ Closeواﻟﻌﻜﺲ .وھﺬه اﻟﻤﺪﺧﻼت ھﻲ:
24
وﯾﻮﺿﺢ ھﺬا اﻟﻤﺨﻄﻂ أﻧﮫ إذا ﻛﺎﻧﺖ اﻟﺤﺎﻟﺔ اﻻﺑﺘﺪاﺋﯿﺔ Closedوﺗﻢ إدﺧﺎل إﺷﺎرة Neitherأو إﺷﺎرة Rearﻓﺈن
اﻟﺒﺎب ﺳﯿﺒﻘﻰ ﻓﻲ ﺣﺎﻟﺔ Closedوﻛﺬﻟﻚ اﻟﺤﺎل إذا ﻛﺎﻧﺖ اﻹﺷﺎرة Bothﻓﻠﻦ ﯾﺘﻢ ﻓﺘﺢ اﻟﺒﺎب وﺗﺒﻘﻰ اﻟﺤﺎﻟﺔ Closed
وذﻟﻚ ﺣﺘﻰ ﻻ ﯾﺘﻌﺮض ﻟﻸذى اﻟﺸﺨﺺ اﻟﻤﻮﺟﻮد ﺧﻠﻒ اﻟﺒﺎب إذا ﺗﻢ ﻓﺘﺤﮫ .وﻟﻜﻦ ﻓﻲ ﺣﺎﻟﺔ ﻛﺎﻧﺖ اﻹﺷﺎرة اﻟﻤﺪﺧﻠﺔ
Frontﻓﻌﻨﺪھﺎ ﻓﻘﻂ ﺗﺘﻐﯿﺮ اﻟﺤﺎﻟﺔ إﻟﻰ .Openأﻣﺎ إذا ﻛﺎﻧﺖ اﻟﺤﺎﻟﺔ اﻻﺑﺘﺪاﺋﯿﺔ Openﻓﺈن اﺳﺘﻘﺒﺎل اﻹﺷﺎرات
Front, Rearو Bothﺳﯿﺒﻘﻲ اﻟﺒﺎب ﻓﻲ ﺣﺎﻟﺔ Openوﻓﻘﻂ ﻓﻲ ﺣﺎﻟﺔ واﺣﺪة ھﻲ اﺳﺘﻘﺒﺎل اﻹﺷﺎرة Neither
ﯾﺘﻢ اﻹﻏﻼق.
ﻣﺜﺎل :إذا ﻛﺎﻧﺖ ﺣﺎﻟﺔ اﻟﻤﺘﺤﻜﻢ اﻻﺑﺘﺪاﺋﯿﺔ Closedوﺗﻢ اﺳﺘﻘﺒﺎل اﻹﺷﺎرات اﻟﺘﺎﻟﯿﺔ ﺑﺎﻟﺘﺮﺗﯿﺐ اﻟﺘﺎﻟﻲ:
ﻓﺈن اﻟﻤﺘﺤﻜﻢ ﺳﻮف ﯾﻨﺘﻘﻞ إﻟﻰ اﻟﺤﺎﻻت اﻟﺘﺎﻟﯿﺔ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ:
إن دراﺳﺔ ﻣﺘﺤﻜﻢ اﻟﺒﺎب اﻵﻟﻲ ﻛﻨﻤﻮذج ﻟﻠﺘﺸﻐﯿﻞ اﻟﺬاﺗﻲ اﻟﻤﺤﺪود ﺗﻌﺘﺒﺮ ﻣﻔﯿﺪة وذﻟﻚ ﻷﻧﮭﺎ ﺗﻘﺪم ﻃﺮﯾﻘﺔ واﺿﺤﺔ
ﻟﺘﻤﺜﯿﻞ ھﺬا اﻟﻨﻮع ﻣﻦ اﻟﻨﻈﻢ ﻛﻤﺎ ھﻮ واﺿﺢ ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ .ﻓﺎﻟﻤﺘﺤﻜﻢ ھﻮ ﻋﺒﺎرة ﻋﻦ ﺣﺎﺳﻮب ﯾﻤﺘﻠﻚ ﺑﺖ واﺣﺪ ﻣﻦ
اﻟﺬاﻛﺮة ﯾﻤﻜﻨﮫ ﺗﺴﺠﯿﻞ اﻟﺤﺎﻟﺔ اﻟﺘﻲ ﯾﻜﻮن ﻋﻠﯿﮭﺎ اﻟﻤﺘﺤﻜﻢ ھﻞ ھﻲ Closeأم . Openوھﻨﺎك ﺑﻌﺾ اﻷﺟﮭﺰة اﻟﺘﻲ
ﺗﻤﺘﻠﻚ ذاﻛﺮة ﻣﺤﺪودة وﻟﻜﻨﮭﺎ أﻛﺒﺮ ﻗﻠﯿﻼ ﻣﻦ ھﺬه .ﻓﻤﺜﻼ ﺣﺎﻟﺔ ﻣﺘﺤﻜﻢ اﻟﻤﺼﻌﺪ اﻵﻟﻲ Elevatorﯾﻤﺜﻠﮭﺎ رﻗﻢ اﻟﻄﺎﺑﻖ
اﻟﺬي ﯾﻮﺟﺪ ﻋﻠﯿﮫ اﻟﻤﺼﻌﺪ ﻓﻲ ﻟﺤﻈﺔ ﻣﺎ .أﻣﺎ اﻟﻤﺪﺧﻼت ﻓﯿﻤﻜﻦ أن ﺗﻜﻮن اﻹﺷﺎرات اﻟﺘﻲ ﯾﺘﻢ إرﺳﺎﻟﮭﺎ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ
أزرار ﻣﻮﺟﻮدة ﻋﻠﻰ ﻟﻮﺣﺎت ﻟﻠﺘﺤﻜﻢ ﻓﻲ اﻟﻌﻤﻠﯿﺎت اﻟﻤﻄﻠﻮﺑﺔ ﻣﻦ اﻟﻤﺼﻌﺪ اﻟﻘﯿﺎم ﺑﮭﺎ .وھﺬا اﻟﻨﻮع ﻣﻦ اﻟﻤﺘﺤﻜﻤﺎت ﯾﻮﺟﺪ
ﻓﻲ اﻟﻜﺜﯿﺮ ﻣﻦ اﻷﺟﮭﺰة اﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ اﻟﺒﯿﻮت ﻣﺜﻞ اﻟﻐﺴﺎﻻت وأﺟﮭﺰة اﻟﺘﺒﺮﯾﺪ واﻟﺘﻜﯿﯿﻒ وﻛﺬﻟﻚ ﺗﻮﺟﺪ ﻓﻲ اﻵﻻت
اﻟﺤﺎﺳﺒﺔ واﻟﺴﺎﻋﺎت اﻹﻟﻜﺘﺮوﻧﯿﺔ وﻏﯿﺮھﺎ.
ﻟﻮﺻﻒ اﻟﻨﻈﺮﯾﺎت اﻟﺮﯾﺎﺿﯿﺔ ﻟﻠﺘﺸﻐﯿﻞ اﻟﺬاﺗﻲ اﻟﻤﺤﺪود ﻓﺈﻧﮫ ﯾﺠﺐ ﻓﻌﻞ ذﻟﻚ ﺑﻄﺮﯾﻘﺔ ﻣﺠﺮدة أي دون رﺑﻂ ذﻟﻚ ﺑﺄﯾﺔ
ﺗﻄﺒﯿﻘﺎت ﻣﺤﺪدة.
0 1
1 0
q1 q3
q2
0,1
ﻧﻼﺣﻆ ﻣﻦ ھﺬا اﻟﺸﻜﻞ اﻟﺬي ﯾﺴﻤﻰ ﻣﺨﻄﻂ ﺣﺎﻟﺔ M1أن ﻟﮭﺬا اﻟﻨﻤﻮذج ﺛﻼث ﺣﺎﻻت ﺗﻤﺜﻞ ﺑﺎﻟﺮﻣﻮز q3,q2,q1ﺣﯿﺚ:
25
q3 -ﺗﺴﻤﻰ ﺣﺎﻟﺔ اﻟﺮﻓﺾ Reject State
أﻣﺎ اﻷﺳﮭﻢ ﻓﻲ اﻟﻤﺨﻄﻂ ﻓﮭﻲ ﺗﻤﺜﻞ ﻋﻤﻠﯿﺔ اﻻﻧﺘﻘﺎل ﻣﻦ ﺣﺎﻟﺔ إﻟﻰ أﺧﺮى وﺗﺴﻤﻰ ﻣﻘﺎﻃﻊ اﻟﺘﺤﻮل . Transitions
ﻟﻮ ﻓﺮﺿﻨﺎ أن ھﺬا اﻟﻨﻤﻮذج ﺗﻠﻘﻰ ﻣﺪﺧﻼت ﻋﻠﻰ ﺷﻜﻞ اﻟﻤﺘﺴﻠﺴﻠﺔ 1101ﻓﺈن ھﺬه اﻟﻤﺘﺴﻠﺴﻠﺔ ﯾﺘﻢ ﻣﻌﺎﻟﺠﺘﮭﺎ
ﻟﻠﺤﺼﻮل ﻋﻠﻰ ﻣﺨﺮﺟﺎت ﺗﻜﻮن إﻣﺎ ﻗﺒﻮل أو رﻓﺾ .وﺳﻮف ﻧﻌﺘﺒﺮ ھﺬا اﻟﻨﻮع ﻣﻦ اﻟﻤﺨﺮﺟﺎت ھﻮ ﻣﻦ ﻧﻮع
yes/noﺑﻤﻌﻨﻰ أن ﻟﮭﺎ ﺣﺎﻟﺘﺎن ﻓﻘﻂ.
ﺗﺒﺪأ ﻣﻌﺎﻟ ﺠﺔ اﻟﻤﺪﺧﻼت ﻓﻲ ھﺬا اﻟﻨﻈﺎم ﻓﻲ اﻟﺤﺎﻟﺔ اﻻﺑﺘﺪاﺋﯿﺔ ﺣﯿﺚ ﯾﺘﻢ اﺳﺘﻘﺒﺎل ﻋﻨﺎﺻﺮ اﻟﻤﺘﺴﻠﺴﻠﺔ واﺣﺪا ﺗﻠﻮ
اﻵﺧﺮ ﻣﻦ اﻟﯿﺴﺎر إﻟﻰ اﻟﯿﻤﯿﻦ .ﺑﻌﺪ ﻗﺮاءة ﻛﻞ ﻋﻨﺼﺮ ﯾﻨﺘﻘﻞ M1ﻣﻦ ﺣﺎﻟﺔ إﻟﻰ أﺧﺮى وﻋﻨﺪ ﻗﺮاءة آﺧﺮ ﻋﻨﺼﺮ
ﯾﻘﻮم M1ﺑﺈﻧﺘﺎج اﻟﻤﺨﺮﺟﺎت .وھﺬه اﻟﻤﺨﺮﺟﺎت ﺗﻜﻮن Acceptإذا ﻛﺎن M1ﻓﻲ ﺣﺎﻟﺔ Acceptﻋﻨﺪ ﻗﺮاءة
آﺧﺮ ﻋﻨﺼﺮ ﻣﻦ اﻟﻤﺪﺧﻼت وﺗﻜﻮن Rejectإذا ﻛﺎﻧﺖ ﺣﺎﻟﺔ M1ھﻲ Rejectﻋﻨﺪ ﻗﺮاءة آﺧﺮ ﻋﻨﺼﺮ ﻣﻦ
اﻟﻤﺪﺧﻼت.
ﻓﻤﺜﻼ ﻋﻨﺪ إدﺧﺎل اﻟﻤﺘﺴﻠﺴﻠﺔ 1101إﻟﻰ اﻵﻟﺔ M1اﻟﺘﻲ ﯾﻤﺜﻞ اﻟﻤﺨﻄﻂ أﻋﻼه ﻃﺮﯾﻘﺔ ﻋﻤﻠﮭﺎ ﻓﺈن اﻟﻌﻤﻠﯿﺎت ﺗﺘﻢ
ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ :
وﻋﻨﺪ ﺗﺠﺮﺑﺔ ﻋﺪد ﻛﺒﯿﺮ ﻣﻦ اﻟﻤﺘﺴﻠﺴﻼت ﻋﻠﻰ ھﺬه اﻟﻨﻈﺎم ﯾﻤﻜﻦ اﺳﺘﻨﺘﺎج اﻟﺘﺎﻟﻲ:
-ﺟﻤﯿﻊ اﻟﻤﺘﺴﻠﺴﻼت اﻟﺘﻲ ﺗﻨﺘﮭﻲ ﺑﺎﻟﻌﻨﺼﺮ 1ﻣﺜﻞ 0101010101 , 111101 , 01 ,1ﻣﺨﺮﺟﺎﺗﮭﺎ accept
-ﺟﻤﯿﻊ اﻟﻤﺘﺴﻠﺴﻼت اﻟﺘﻲ ﺗﻨﺘﮭﻲ ﺑﻌﺪد زوﺟﻲ ﻣﻦ اﻷﺻﻔﺎر ﺑﻌﺪ 1ﻣﺜﻞ 1000000 , 100ﻣﺨﺮﺟﺎﺗﮭﺎ accept
-ﺟﻤﯿﻊ اﻟﻤﺘﺴﻠﺴﻼت اﻟﺘﻲ ﺗﻨﺘﮭﻲ ﺑﻌﺪد ﻓﺮدي ﻣﻦ اﻷﺻﻔﺎر ﻣﺜﻞ 01000ﻣﺨﺮﺟﺎﺗﮭﺎ reject
ﻓﻲ اﻷﻣﺜﻠﺔ اﻟﺴﺎﺑﻘﺔ ﻗﻤﻨﺎ ﺑﺎﺳﺘﺨﺪام ﻣﺨﻄﻄﺎت اﻟﺤﺎﻟﺔ State Diagramsوذﻟﻚ ﻟﺘﻌﺮﯾﻒ Finite
Automataوذﻟﻚ ﻷن ھﺬه اﻟﻤﺨﻄﻄﺎت ﺗﺴﺎﻋﺪ ﻛﺜﯿﺮا ﻓﻲ ﻓﮭﻢ واﺳﺘﯿﻌﺎب ھﺬه اﻟﻨﻈﻢ وﻣﻊ ذﻟﻚ ﻓﺈﻧﻨﺎ ﺑﺤﺎﺟﺔ إﻟﻰ
اﺳﺘﺨﺪام اﻟﺘﻌﺮﯾﻒ اﻟﺮﯾﺎﺿﻲ أو ﻣﺎ ﯾﺴﻤﻰ اﻟﺘﻌﺮﯾﻒ اﻟﺸﻜﻠﻲ Formal Definitionوذﻟﻚ ﻟﺴﺒﺒﯿﻦ رﺋﯿﺴﯿﯿﻦ
ھﻤﺎ:
.1اﻟﺘﻌﺮﯾﻒ اﻟﺸﻜﻠﻲ ﯾﻜﻮن دﻗﯿﻘﺎ ﺣﯿﺚ ﯾﻘﻮم ﺑﺈزاﻟﺔ أي ﻏﻤﻮض أو ﻋﺪم دﻗﺔ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻤﺎ ﯾﺴﻤﺢ ﺑﮫ ﻓﻲ ھﺬه
اﻟﻨﻤﺎذج.
.2اﻟﺘﻌﺮﯾﻒ اﻟﺸﻜﻠﻲ ﯾﻜﻮن ﻋﻠﻰ ﺷﻜﻞ ﻣﺠﻤﻮﻋﺔ رﻣﻮز ﻣﻜﺘﻮﺑﺔ وھﺬا ﯾﺴﺎﻋﺪ ﻓﻲ اﻟﺘﻔﻜﯿﺮ وﻛﺬﻟﻚ ﻓﻲ اﻟﺘﻌﺒﯿﺮ ﻋﻦ
اﻷﻓﻜﺎر ﺑﺸﻜﻞ واﺿﺢ.
26
ﯾﺘﻜﻮن Finite Automatonﻣﻦ ﻣﺠﻤﻮﻋﺔ أﺟﺰاء .ﺣﯿﺚ أن ﻟﮫ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺤﺎﻻت وﻣﺠﻤﻮﻋﺔ ﻗﻮاﻋﺪ
ﻟﻼﻧﺘﻘﺎل ﻣﻦ ﺣﺎﻟﺔ إﻟﻰ أﺧﺮى ﺣﺴﺐ ﻋﻨﺼﺮ اﻹدﺧﺎل ﻛﻤﺎ أن ﻟﮫ أﺑﺠﺪﯾﺔ إدﺧﺎل ﺗﻈﮭﺮ أﯾﺔ ﻋﻨﺎﺻﺮ ﯾﺴﻤﺢ ﺑﮭﺎ ﻛﻤﺪﺧﻼت.
ﺑﺎﻹﺿﺎﻓﺔ إﻟﻰ ذﻟﻚ ﻓﺈﻧﮫ ﯾﻤﺘﻠﻚ ﺣﺎﻟﺔ اﺑﺘﺪاﺋﯿﺔ وﻛﺬﻟﻚ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺣﺎﻻت اﻟﻘﺒﻮل .ﺑﺎﻻﻋﺘﻤﺎد ﻋﻠﻰ ﻣﺎ ﺳﺒﻖ ﻓﺈن اﻟﺘﻌﺮﯾﻒ
اﻟﺸﻜﻠﻲ ﯾﻘﻮل أن Finite Automatonھﻮ ﻋﺒﺎرة ﻋﻦ ﻗﺎﺋﻤﺔ ﻣﻦ ھﺬه اﻟﻤﻜﻮﻧﺎت اﻟﺨﻤﺴﺔ.
اﻟﺘﻌﺮﯾﻒ اﻟﺸﻜﻠﻲ ﯾﺴﺘﺨﺪم ﻣﺎ ﯾﺴﻤﻰ داﻟﺔ اﻻﻧﺘﻘﺎل Transition Functionواﻟﺘﻲ ﯾﺘﻢ ﺗﻤﺜﯿﻠﮭﺎ ﺑﺎﻟﺮﻣﺰ δوذﻟﻚ
ﻟﺘﻌﺮﯾﻒ ﻗﻮاﻋﺪ اﻻﻧﺘﻘﺎل .ﻓﻤﺜﻼ إذا ﻛﺎن اﻟﻤﺨﻄﻂ ﯾﻈﮭﺮ ﻋﻤﻠﯿﺔ اﻻﻧﺘﻘﺎل ﻣﻦ اﻟﺤﺎﻟﺔ xإﻟﻰ اﻟﺤﺎﻟﺔ yﺑﻮاﺳﻄﺔ ﺳﮭﻢ وذﻟﻚ
ﻋﻨﺪ ﻗﺮاءة ﻋﻨﺼﺮ اﻹدﺧﺎل 1ﻓﺈن ھﺬا ﯾﻌﻨﻲ أﻧﮫ إذا ﻛﺎن اﻟﻨﻤﻮذج ﻓﻲ ﺣﺎﻟﺔ xﻓﺈﻧﮫ ﻋﻨﺪ ﻗﺮاءة ﻋﻨﺼﺮ اﻹدﺧﺎل 1ﺳﻮف
ﯾﻨﺘﻘﻞ إﻟﻰ اﻟﺤﺎﻟﺔ . yﻧﻔﺲ اﻟﺸﻲء ﯾﻤﻜﻦ اﻟﺘﻌﺒﯿﺮ ﻋﻨﮫ ﺑﺎﺳﺘﺨﺪام داﻟﺔ اﻻﻧﺘﻘﺎل ﻛﺎﻟﺘﺎﻟﻲ . δ (x,1) = y
اﻟﺘﻌﺒﯿﺮ ﺑﮭﺬا اﻟﺸﻜﻞ ھﻮ ﻋﺒﺎرة ﻋﻦ ﻧﻮع ﻣﻦ اﻻﺧﺘﺼﺎر اﻟﺮﯾﺎﺿﻲ وﻋﻨﺪ وﺿﻊ ﻛﻞ اﻟﻤﻜﻮﻧﺎت ﻣﻊ ﺑﻌﻀﮭﺎ اﻟﺒﻌﺾ
ﻓﺈﻧﻨﺎ ﺑﺬﻟﻚ ﻧﺼﻞ إﻟﻰ اﻟﺘﻌﺮﯾﻒ اﻟﺸﻜﻠﻲ ﻟﻨﻤﻮذج اﻟﺘﺸﻐﯿﻞ اﻟﺬاﺗﻲ اﻟﻤﺤﺪود.
وھﺬا ﯾﻌﻨﻲ أﻧﮫ ﯾﻤﻜﻦ اﺳﺘﺨﺪام رﻣﻮز اﻟﺘﻌﺮﯾﻒ اﻟﺸﻜﻠﻲ ﻷن ھﺬا ﯾﻌﻄﻲ وﺻﻔﺎ دﻗﯿﻘﺎ ﻟﻨﻤﻮذج اﻟﺘﺸﻐﯿﻞ اﻟﺬاﺗﻲ
اﻟﻤﺤﺪود .ﻓﻤﺜﻼ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﻨﻤﻮذج M1اﻟﻮارد ذﻛﺮه ﺳﺎﺑﻘﺎ ﻓﺈﻧﮫ ﺑﺎﺳﺘﺨﺪام اﻟﺮﻣﻮز ﯾﻤﻜﻦ وﺻﻒ ھﺬا اﻟﻨﻤﻮذج ﻋﻠﻰ
اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ:
0 1
q1 q1 q2
q2 q3 q2
q3 q2 q2
}F = {q2
27
وإذا اﻋﺘﺒﺮﻧﺎ Aھﻲ ﻣﺠﻤﻮﻋﺔ ﺟﻤﯿﻊ اﻟﻤﺘﺴﻠﺴﻼت اﻟﺘﻲ ﺗﻘﺒﻠﮭﺎ اﻵﻟﺔ Mﻓﺈﻧﮫ ﯾﻤﻜﻦ اﻟﻘﻮل أن Aھﻲ ﻟﻐﺔ اﻵﻟﺔ M
وﯾﺘﻢ ﻛﺘﺎﺑﺔ ذﻟﻚ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ L(M) = A :ﻛﻤﺎ ﯾﻤﻜﻦ اﻟﻘﻮل أن اﻵﻟﺔ Mﯾﻤﻜﻨﮭﺎ ﺗﻤﯿﯿﺰ أو إدراك
Recognizeاﻟﻠﻐﺔ Aأو ﺑﺘﻌﺒﯿﺮ آﺧﺮ أن Mﺗﻘﺒﻞ . Aوﺑﻤﺎ أن اﻟﻤﺼﻄﻠﺢ ﻗﺒﻮل Acceptﯾﺤﻤﻞ ﻣﻌﺎﻧﻲ ﻛﺜﯿﺮة
ﻣﺨﺘﻠﻔﺔ ﻓﺈﻧﮫ ﯾﻔﻀﻞ اﺳﺘﺨﺪام اﻟﻤﺼﻄﻠﺢ Recognizeوذﻟﻚ ﺗﻔﺎدﯾﺎ ﻷي إرﺑﺎك أو ﺗﺸﻮﯾﺶ ﻓﻲ ﻓﮭﻢ اﻟﻤﻌﻨﻰ اﻟﺼﺤﯿﺢ.
إن اﻵﻟﺔ ﯾﻤﻜﻨﮭﺎ ﻗﺒﻮل ﻋﺪة ﻣﺘﺴﻠﺴﻼت وﻟﻜﻨﮭﺎ داﺋﻤﺎ ﺗﺪرك ﻟﻐﺔ واﺣﺪة ﻓﻘﻂ .وﻓﻲ ﺣﺎﻟﺔ ﻛﺎﻧﺖ اﻵﻟﺔ ﻻ ﺗﻘﺒﻞ أﯾﺔ
ﻣﺘﺴﻠﺴﻠﺔ ﻓﺈﻧﮭﺎ ﻣﻊ ذﻟﻚ ﻻ ﺗﺰال ﺗﺪرك ﻟﻐﺔ واﺣﺪة ﻓﻘﻂ ﺗﺴﻤﻰ اﻟﻠﻐﺔ اﻟﺨﺎﻟﯿﺔ . Øوﻟﮭﺬه اﻵﻟﺔ ﺗﻌﺮف اﻟﻠﻐﺔ ﻋﻠﻰ اﻟﺸﻜﻞ
اﻟﺘﺎﻟﻲ:
}A={w/w contains at least one 1 and an even numbers of 0s follow the last 1
وﻋﻨﺪھﺎ ﻧﻘﻮل أن اﻵﻟﺔ ﺗﺪرك اﻟﻠﻐﺔ Aوﯾﻜﺘﺐ ذﻟﻚ ﻛﺎﻟﺘﺎﻟﻲ . L(M1) = A
1
1
0
q1
q2
0
وﯾﺠﺐ اﻟﺘﺄﻛﯿﺪ ھﻨﺎ أن ﻣﺨﻄﻂ اﻟﺤﺎﻟﺔ State Diagramواﻟﺘﻌﺮﯾﻒ اﻟﺸﻜﻠﻲ Formal Definitionﯾﺤﺘﻮﯾﺎن
ﻋﻠﻰ ﻧﻔﺲ اﻟﻤﻌﻠﻮﻣﺎت وﻟﻜﻦ ﺑﺄﺷﻜﺎل ﻣﺨﺘﻠﻔﺔ ﺑﺤﯿﺚ ﯾﻤﻜﻦ اﻻﻧﺘﻘﺎل ﻣﻦ اﺣﺪھﻤﺎ إﻟﻰ اﻵﺧﺮ إذا ﻛﺎن ذﻟﻚ ﺿﺮورﯾﺎ.
28
إن أﻓﻀﻞ ﻃﺮﯾﻘﺔ ﻟﻠﺒﺪء ﻓﻲ ﻓﮭﻢ أﯾﺔ آﻟﺔ ھﻲ ﺗﺠﺮﺑﺘﮭﺎ ﻣﻦ ﺧﻼل ﻋﯿﻨﺔ ﻣﻦ ﻣﺘﺴﻠﺴﻼت اﻹدﺧﺎل ﺑﺤﯿﺚ ﻧﺮى ﻣﻦ
ﺧﻼﻟﮭﺎ ﻛﯿﻒ ﺗﻌﻤﻞ اﻵﻟﺔ وﻛﺬﻟﻚ ﺣﺘﻰ ﺗﺼﺒﺢ ﻃﺮﯾﻘﺔ ﻋﻤﻠﮭﺎ واﺿﺤﺔ وﺟﻠﯿﺔ .ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل إذا أﺧﺬﻧﺎ اﻟﻤﺘﺴﻠﺴﻠﺔ
1101ﻛﻌﯿﻨﺔ إدﺧﺎل ﻓﺈن اﻵﻟﺔ M2ﺳﻮف ﺗﺒﺪأ ﻋﻤﻠﮭﺎ ﻓﻲ اﻟﺤﺎﻟﺔ اﻻﺑﺘﺪاﺋﯿﺔ q1ﺛﻢ ﺗﻨﺘﻘﻞ إﻟﻰ اﻟﺤﺎﻟﺔ q2ﺑﻌﺪ ﻗﺮاءة
أول ﻋﻨﺼﺮ ﻓﻲ اﻟﻤﺘﺴﻠﺴﻠﺔ وھﻮ 1ﺛﻢ ﺗﻨﺘﻘﻞ إﻟﻰ اﻟﺤﺎﻻت q2, q1, q1ﻋﻠﻰ اﻟﺘﻮاﻟﻲ ﺑﻌﺪ ﻗﺮاءة ﺑﺎﻗﻲ ﻋﻨﺎﺻﺮ
اﻟﻤﺘﺴﻠﺴﻠﺔ .ھﺬه اﻟﻤﺘﺴﻠﺴﻠﺔ ﺗﻢ ﻗﺒﻮﻟﮭﺎ ﻷن q2ھﻲ ﺣﺎﻟﺔ اﻟﻘﺒﻮل واﻟﺘﻲ ﺗﻮﺟﺪ ﻓﯿﮭﺎ اﻵﻟﺔ ﺑﻌﺪ ﻗﺮاءة آﺧﺮ ﻋﻨﺼﺮ .وﻟﻜﻦ
ﻟﻮ أﺧﺬﻧﺎ اﻟﻤﺘﺴﻠﺴﻠﺔ 110ﻛﻌﯿﻨﺔ إدﺧﺎل ﻓﺈن ﺗﻨﻔﯿﺬھﺎ ﺳﻮف ﯾﺠﻌﻞ اﻵﻟﺔ ﻓﻲ ﺣﺎﻟﺔ q1وھﻲ ﺣﺎﻟﺔ اﻟﺮﻓﺾ ﺑﻌﺪ ﻗﺮاءة
آﺧﺮ ﻋﻨﺼﺮ ﻓﯿﮭﺎ أي أن اﻟﻤﺘﺴﻠﺴﻠﺔ ﻗﺪ ﺗﻢ رﻓﻀﮭﺎ .وﺑﻌﺪ ﺗﺠﺮﺑﺔ أﻛﺜﺮ ﻣﻦ ﻋﯿﻨﺔ إدﺧﺎل ﻧﺼﻞ إﻟﻰ ﻧﺘﯿﺠﺔ ﻣﻔﺎدھﺎ أن M2
ﺗﻘﺒﻞ ﺟﻤﯿﻊ اﻟﻤﺘﺴﻠﺴﻼت اﻟﺘﻲ ﺗﻨﺘﮭﻲ ﺑﺎﻟﻌﻨﺼﺮ 1وﯾﻤﻜﻦ ﺻﯿﺎﻏﺔ ھﺬا ﻛﺎﻟﺘﺎﻟﻲL(M2) = {w/w ends in a 1} :
أي أن ﻟﻐﺔ ھﺬه اﻵﻟﺔ ﺟﻤﯿﻊ اﻟﻤﺘﺴﻠﺴﻼت اﻟﺘﻲ ﺗﻨﺘﮭﻲ ﺑﺎﻟﺮﻣﺰ . 1
0 1
1
q2
q1
0
ھﺬه اﻵﻟﺔ ﻣﺸﺎﺑﮭﺔ ﺟﺪا ﻟﻶﻟﺔ M2ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﺳﻮى أن ﺣﺎﻟﺔ اﻟﻘﺒﻮل ھﻨﺎ ھﻲ q1وﺣﺎﻟﺔ اﻟﺮﻓﺾ ھﻲ . q2
اﻟﺘﻌﺮﯾﻒ اﻟﺸﻜﻠﻲ ﻟﮭﺬه اﻵﻟﺔ ھﻮ :
0 1
q1 q1 q2
q2 q1 q2
29
ﻛﻤﺎ ﻧﻌﻠﻢ أن اﻵﻟﺔ ﺗﻘﺒﻞ اﻟﻤﺘﺴﻠﺴﻠﺔ اﻟﺘﻲ ﺗﺠﻌﻠﮭﺎ ﻓﻲ ﺣﺎﻟﺔ ﻗﺒﻮل ﺑﻌﺪ ﻗﺮاءة آﺧﺮ رﻣﺰ ﻣﻦ رﻣﻮز ھﺬه اﻟﻤﺘﺴﻠﺴﻠﺔ.
وﻧﻼﺣﻆ ھﻨﺎ أن اﻟﺤﺎﻟﺔ اﻻﺑﺘﺪاﺋﯿﺔ ﻟﮭﺬه اﻵﻟﺔ ھﻲ ﺣﺎﻟﺔ اﻟﻘﺒﻮل وھﺬا اﻟﻨﻮع ﻣﻦ اﻵﻻت ﯾﻘﺒﻞ اﻟﻤﺘﺴﻠﺴﻠﺔ اﻟﺨﺎﻟﯿﺔ εﻷﻧﮫ
ﺑﻌﺪ ﻗﺮاءة ھﺬه اﻟﻤﺘﺴﻠﺴﻠﺔ ﺗﺒﻘﻰ اﻵﻟﺔ ﻓﻲ ﻧﻔﺲ اﻟﻮﺿﻊ أي وﺿﻊ اﻟﻘﺒﻮل .ﺑﺎﻹﺿﺎﻓﺔ إﻟﻰ ھﺬا ﻓﺈن اﻵﻟﺔ ﺗﻘﺒﻞ أﯾﺔ
ﻣﺘﺴﻠﺴﻠﺔ ﺗﻨﺘﮭﻲ ﺑﺎﻟﺮﻣﺰ . 0ﻟﺬﻟﻚ ﻓﺈن ﻟﻐﺔ ھﺬه اﻵﻟﺔ ﯾﺘﻢ اﻟﺘﻌﺒﯿﺮ ﻋﻨﮫ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ:
a b
b a
ﯾﻈﮭﺮ ﻣﻦ ھﺬا اﻟﻤﺨﻄﻂ أن اﻵﻟﺔ ﺗﻤﺘﻠﻚ ﺧﻤﺴﺔ ﺣﺎﻻت ھﻲ q2, q1, r2, r1, sوﻛﺬﻟﻚ ﺣﺎﻟﺘﺎ ﻗﺒﻮل ھﻤﺎ q1, r1
أﻣﺎ اﻟﺤﺎﻟﺔ اﻻﺑﺘﺪاﺋﯿﺔ ﻓﮭﻲ .sوﻋﻠﻰ ﻛﻞ ﺣﺎل ﻓﺈن اﻟﺘﻌﺮﯾﻒ اﻟﺸﻜﻠﻲ ﻟﮭﺬه اﻵﻟﺔ ھﻮ:
a b
s q1 r1
r1 r2 r1
r2 r2 r1
q1 q1 q2
30
q2 q1 q2
ھﺬا اﻟﻨﻮع ﻣﻦ اﻵﻻت ﯾﺒﺪأ ﻓﻲ اﻟﺤﺎﻟﺔ sوﺑﻌﺪ ﻗﺮاءة أول رﻣﺰ ﻓﻲ اﻟﻤﺪﺧﻼت ﻓﺈن اﻵﻟﺔ ﺳﺘﻨﺘﻘﻞ إﻣﺎ إﻟﻰ اﻟﯿﻤﯿﻦ أي
إﻟﻰ اﻟﺤﺎﻟﺔ r1أو إﻟﻰ اﻟﯿﺴﺎر إﻟﻰ q1وﻓﻲ اﻟﺤﺎﻟﺘﯿﻦ ﻓﺈﻧﮭﺎ ﻟﻦ ﺗﻌﻮد إﻟﻰ اﻟﺤﺎﻟﺔ اﻻﺑﺘﺪاﺋﯿﺔ أﺑﺪا.
وﯾﻌﺘﻤﺪ اﺗﺠﺎه ﻋﻤﻞ اﻵﻟﺔ ﻋﻠﻰ أول رﻣﺰ ﻓﻲ ﻣﺘﺴﻠﺴﻠﺔ اﻹدﺧﺎل ﻓﺈذا ﻛﺎن aﺳﺘﺬھﺐ إﻟﻰ اﻟﺤﺎﻟﺔ q1وھﻲ ﺣﺎﻟﺔ
اﻟﻘﺒﻮل وﺳﺘﻌﻮد أﯾﻀﺎ إﻟﻰ ﺣﺎﻟﺔ اﻟﻘﺒﻮل إذا ﻛﺎن آﺧﺮ رﻣﺰ ﻓﻲ اﻟﻤﺘﺴﻠﺴﻠﺔ ھﻮ aأﯾﻀﺎ أي أن أﯾﺔ ﻣﺘﺴﻠﺴﻠﺔ ﺗﺒﺪأ
وﺗﻨﺘﮭﻲ ﺑﺎﻟﺮﻣﺰ aﺳﯿﺘﻢ ﻗﺒﻮﻟﮭﺎ .أﻣﺎ إذا ﻛﺎن أول رﻣﺰ bﻓﺴﯿﻜﻮن اﻻﺗﺠﺎه إﻟﻰ اﻟﺤﺎﻟﺔ r1واﻟﻤﺘﺴﻠﺴﻠﺔ اﻟﺘﻲ ﺗﺒﺪأ
وﺗﻨﺘﮭﻲ ﺑﺎﻟﺮﻣﺰ bﺳﻮف ﺗﻜﻮن ﻣﺘﺴﻠﺴﻠﺔ ﻗﺒﻮل أﯾﻀﺎ .وﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﻧﻘﻮل أن اﻟﻤﺘﺴﻠﺴﻠﺔ اﻟﺘﻲ ﺗﺒﺪأ وﺗﻨﺘﮭﻲ ﺑﻨﻔﺲ
اﻟﺮﻣﺰ ھﻲ ﻣﺘﺴﻠﺴﻠﺔ ﻗﺒﻮل .ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل اﻟﻤﺘﺴﻠﺴﻼت اﻟﺘﺎﻟﯿﺔ bab, aba, bb, aa, b, aﺟﻤﯿﻌﮭﺎ ﻣﺘﺴﻠﺴﻼت
ﻗﺒﻮل ﻋﻠﻰ اﻟﻌﻜﺲ ﻣﻦ اﻟﻤﺘﺴﻠﺴﻼت اﻟﺘﺎﻟﯿﺔ bbba, ba, abﻓﺠﻤﯿﻌﮭﺎ ﻻ ﯾﺘﻢ ﻗﺒﻮﻟﮭﺎ .أﻣﺎ ﻟﻐﺔ ھﺬه اﻵﻟﺔ ﻓﺘﻌﺮﯾﻔﮭﺎ ھﻮ:
} L(M4) = {w/w is the string that begins and ends with the same symbol
ﻣﺜﺎل :ﻣﺜﺎﻟﻨﺎ اﻟﺘﺎﻟﻲ ھﻮ ﻋﺒﺎرة ﻋﻦ ﻣﺘﺤﻜﻢ ﻣﺼﻌﺪ آﻟﻲ elevator controllerﯾﻘﻮم ﺑﺨﺪﻣﺔ ﻃﺎﺑﻘﯿﻦ ﻓﻘﻂ.
ﻣﺪﺧﻼت ھﺬا اﻟﻨﻈﺎم ھﻲ ﻋﺒﺎرة ﻋﻦ اﺳﺘﺪﻋﺎءات callsﯾﺘﻢ ادﺧﺎﻟﮭﺎ إﻟﻰ اﻟﻨﻈﺎم ﻣﻦ داﺧﻞ اﻟﻤﺼﻌﺪ أو ﻣﻦ اﻟﻄﻮاﺑﻖ
وھﺬه اﻟﻤﺪﺧﻼت ھﻲ:
ھﺬا اﻟﻤﺼﻌﺪ ﯾﻤﻜﻨﮫ اﻟﺼﻌﻮد إﻟﻰ أﻋﻠﻰ ,اﻟﮭﺒﻮط إﻟﻰ أﺳﻔﻞ وﻛﺬﻟﻚ اﻻﻧﺘﻈﺎر ﻋﻠﻰ أﺣﺪ اﻟﻄﻮاﺑﻖ .ﻓﻲ ﺣﺎﻟﺔ ﻛﺎن
اﻟﻤﺼ ﻌﺪ ﻋﻠﻰ ﻃﺎﺑﻖ ﻣﺎ ﻓﺈﻧﮫ ﯾﻤﻜﻦ أن ﯾﻜﻮن ﻓﻲ ﺣﺎﻟﺔ اﻧﺘﻈﺎر اﺳﺘﺪﻋﺎء أو أن ﯾﻜﻮن ﻋﻠﻰ وﺷﻚ اﻻﻧﺘﻘﺎل إﻟﻰ ﻃﺎﺑﻖ
آﺧﺮ .ھﺬا ﯾﻘﻮدﻧﺎ إﻟﻰ أن ھﻨﺎك ﺳﺖ ﺣﺎﻻت ﯾﻤﻜﻦ ﻟﻠﻤﺼﻌﺪ أن ﯾﻜﻮن ﻓﯿﮭﺎ وھﻲ:
وﺣﺴﺐ اﻹﺷﺎرات اﻟﻤﺮﺳﻠﺔ ﻟﻠﻤﺼﻌﺪ وردة ﻓﻌﻞ اﻟﻤﺼﻌﺪ ﻋﻠﯿﮭﺎ ﻓﺈﻧﮫ ﯾﻤﻜﻦ ﺗﻜﻮﯾﻦ ﺟﺪول اﻟﺤﺎﻻت اﻟﺘﺎﻟﻲ:
State Input
0 1 2
31
W1 W1 W1 UP
U1 UP U1 UP
UP W2 D2 W2
DN W1 W1 U1
W2 W2 DN W2
D2 DN DN D2
ﺑﻨﺎءً ﻋﻠﻰ ھﺬا اﻟﺠﺪول ﯾﻤﻜﻦ ﺗﺼﻤﯿﻢ ﻣﺨﻄﻂ اﻟﺤﺎﻟﺔ ﻟﻤﺘﺤﻜﻢ اﻟﻤﺼﻌﺪ اﻵﻟﻲ واﻟﺬي ﺳﯿﻜﻮن ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ:
0,2 2
W2 D2
0,2 0,1
0,2 0,1
2
2 W1 U1
إذا ﻛﺎن اﻟﻤﺼﻌﺪ ﻓﻲ ﺣﺎﻟﺔ ﻋﻠﻰ وﺷﻚ اﻟﺘﺤﺮك ﺳﻮاءً إﻟﻰ أﻋﻠﻰ أو إﻟﻰ أﺳﻔﻞ )اﻟﺤﺎﻻت ( D2, U1وﺗﻢ -
اﺳﺘﺪﻋﺎؤه إﻟﻰ ﻧﻔﺲ اﻟﻄﺎﺑﻖ اﻟﻤﻮﺟﻮد ﻋﻠﯿﮫ ﻓﻌﻼ ﻓﺈﻧﮫ ﺳﯿﻈﻞ ﻋﻠﻰ ھﺬا اﻟﻄﺎﺑﻖ وﺳﯿﺒﻘﻰ ﻓﻲ ﻧﻔﺲ ﺣﺎﻟﺘﮫ.
إذا ﻛﺎن اﻟﻤﺼﻌﺪ ﻓﻲ ﺣﺎﻟﺔ ﺻﻌﻮد أو ھﺒﻮط )اﻟﺤﺎﻻت ( DN, UPوﺗﻢ اﺳﺘﺪﻋﺎؤه إﻟﻰ اﻟﺠﮭﺔ اﻟﻤﻌﺎﻛﺴﺔ -
ﻻﺗﺠﺎه ﺣﺮﻛﺘﮫ ﻓﺈﻧﮫ ﺳﯿﺨﺰن اﻻﺳﺘﺪﻋﺎء ﺑﺎﻟﺬھﺎب إﻣﺎ إﻟﻰ U1أو ) . D2ﻣﺜﻼ إذا ﻛﺎن ﻓﻲ ﺣﺎﻟﺔ ﺻﻌﻮد ﻣﻦ
اﻟﻄﺎﺑﻖ اﻷول إﻟﻰ اﻟﺜﺎﻧﻲ UPوﺗﻢ اﺳﺘﺪﻋﺎؤه ﺧﻼل ذﻟﻚ إﻟﻰ اﻟﻄﺎﺑﻖ اﻷول ﻓﺈﻧﮫ ﺳﻮف ﯾﻨﺘﻘﻞ إﻟﻰ ﺣﺎﻟﺔ ﻋﻠﻰ
وﺷﻚ اﻟﮭﺒﻮط D2ﻋﻨﺪ وﺻﻮﻟﮫ اﻟﻄﺎﺑﻖ اﻟﺜﺎﻧﻲ(.
ﻟﺘﺴﮭﯿﻞ ﻋﻤﻠﯿ ﺔ ﻓﮭﻢ ﻋﻤﻞ اﻟﻨﻈﺎم ﻟﻢ ﯾﺘﻀﻤﻦ ھﺬا اﻟﺘﺼﻤﯿﻢ ﺣﺎﻻت أﺧﺮى ﯾﻔﺘﺮض وﺟﻮدھﺎ ﻓﻲ اﻟﻨﻈﺎم ﻣﺜﻞ -
ﻋﻤﻠﯿﺔ ﻓﺘﺢ وإﻏﻼق أﺑﻮاب اﻟﻤﺼﻌﺪ ,اﻧﻘﻄﺎع اﻟﺘﯿﺎر اﻟﻜﮭﺮﺑﺎﺋﻲ ,زﯾﺎدة اﻟﻮزن ﻋﻦ اﻟﻘﺪر اﻟﻤﺤﺪد وﻛﺬﻟﻚ ﺗﻌﻄﻞ
اﻟﻤﺼﻌﺪ.
ﺣﺎﻻت اﻟﻘﺒﻮل واﻟﺮﻓﺾ ﻟﯿﺴﺖ ﻣﻮﺿﻮع ﻧﻘﺎش ﻓﻲ اﻟﻨﻈﺎم ﻟﺬﻟﻚ ﻟﻢ ﯾﺘﻢ اﻟﺘﻄﺮق إﻟﯿﮭﺎ. -
ﯾﻤﻜﻦ ﺗﺼﻤﯿﻢ ھﺬا اﻟﻨﻈﺎم واﻷﺧﺬ ﺑﻌﯿﻦ اﻻﻋﺘﺒﺎر اﻟﺤﺎﻻت اﻟﺘﻲ ﻟﻢ ﯾﺘﻢ اﻟﺘﻄﺮق إﻟﯿﮭﺎ وھﺬا ﯾﺠﻌﻞ اﻟﺘﺼﻤﯿﻢ أﻋﻘﺪ -
وأﻛﺜﺮ ﺻﻌﻮﺑﺔ وﺧﺎﺻﺔ إذا ﺗﺼﻮرﻧﺎ اﻟﻤﺼﻌﺪ اﻵﻟﻲ اﻟﺬي ﯾﺨﺪم 100ﻃﺎﺑﻖ ﻣﺜﻼ.
إن اﻟﺘﺼﻤﯿﻢ ﺑﺤﺪ ذاﺗﮫ ﯾﻌﺘﺒﺮ ﻋﻤ ﻠﯿﺔ إﺑﺪاﻋﯿﺔ ﺑﻐﺾ اﻟﻨﻈﺮ ﻋﻦ اﻟﺸﻲء اﻟﺬي ﻧﻘﻮم ﺑﺘﺼﻤﯿﻤﮫ وذﻟﻚ ﻷﻧﮫ ﻣﻦ ﻏﯿﺮ
اﻟﻤﻤﻜﻦ إﯾﺠﺎز أو اﺧﺘﺼﺎر ﻋﻤﻠﯿﺔ اﻟﺘﺼﻤﯿﻢ ﻓﻲ وﺻﻔﺔ ﺑﺴﯿﻄﺔ أو ﺻﯿﻐﺔ ﻣﺤﺪدة .وﻣﻊ ذﻟﻚ ﯾﻤﻜﻦ إﯾﺠﺎد ﺑﻌﺾ
اﻟﻤﻘﺎرﺑﺎت واﻟﺘﻔﺼﯿﻼت اﻟﺘﻲ ﺗﺴﺎﻋﺪ ﻓﻲ ﻋﻤﻠﯿﺔ ﺗﺼﻤﯿﻢ اﻷﻧﻮاع اﻟﻤﺨﺘﻠﻔﺔ ﻣﻦ ﻧﻤﺎذج اﻟﺘﺸﻐﯿﻞ اﻟﺬاﺗﯿﺔ .ﻓﻤﺜﻼ ﯾﻤﻜﻦ
ﻟﻠﻤﺼﻤﻢ أن ﯾﺘﺨﯿﻞ ﻛﯿﻒ ﺳﯿﻜﻮن ﺳﯿﺮ اﻟﻌﻤﻠﯿﺎت اﻟﻤﻄﻠﻮب ﻣﻦ اﻵﻟﺔ إﻧﺠﺎزھﺎ أي أن ﯾﻀﻊ ﻧﻔﺴﮫ ﻣﻜﺎن ھﺬه اﻵﻟﺔ وﻛﯿﻒ
32
ﺳﺘﻌﻤﻞ ھﺬه اﻵﻟﺔ .ھﺬا اﻻﻓﺘﺮاض ھﻮ ﺣﯿﻠﺔ ﻧﻔﺴﯿﺔ ﺗﺴﺎﻋﺪ ﻓﻲ ﺗﺴﺨﯿﺮ ﻛﺎﻣﻞ اﻟﻘﺪرات اﻟﻌﻘﻠﯿﺔ ﻟﻠﻤﺼﻤﻢ ﻓﻲ ﻋﻤﻠﯿﺔ
اﻟﺘﺼﻤﯿﻢ.
ﻟﻮ ﻓﺮﺿﻨﺎ أﻧﻨﺎ ﻧﺮﯾﺪ ﺗﺼﻤﯿﻢ آﻟﺔ ذاﺗﯿﺔ اﻟﺤﺮﻛﺔ Finite Automatonﺑﺤﯿﺚ ﺗﻜﻮن ھﺬه اﻵﻟﺔ ﻗﺎدرة ﻋﻠﻰ إدراك
ﻟﻐﺔ ﻣﺎ وھﺬا ﯾﻌﻨﻲ أﻧﮫ ﻋﻨﺪﻣﺎ ﺗﺒﺪأ اﻵﻟﺔ ﺑﺎﺳﺘﻘﺒﺎل ﻣﺘﺴﻠﺴﻠﺔ اﻹدﺧﺎل ﻓﺈن ﻋﻠﯿﮭﺎ أن ﺗﻘﺮر إذا ﻣﺎ ﻛﺎﻧﺖ ھﺬه اﻟﻤﺘﺴﻠﺴﻠﺔ
ﺟﺰءاً ﻣﻦ اﻟﻠﻐﺔ اﻟﺘﻲ ﯾﻔﺘﺮض أن ﺗﺪرﻛﮭﺎ اﻵﻟﺔ .رﻣﻮز اﻟﻤﺘﺴﻠﺴﻠﺔ ﯾﺘﻢ ﻗﺮاءﺗﮭﺎ -ﻛﻤﺎ ھﻮ ﻣﻌﺮوف – واﺣﺪا ﺗﻠﻮ اﻵﺧﺮ
وﺑﻌﺪ ﻗﺮاءة ﻛﻞ رﻣﺰ ﯾﺠﺐ أن ﺗﻜﻮن اﻵﻟﺔ ﻗﺎدرة ﻋﻠﻰ اﻹﺟﺎﺑﺔ ﻋﻦ اﻟﺴﺆال "ھﻞ اﻟﻤﺘﺴﻠﺴﻠﺔ ﺟﺰء ﻣﻦ ھﺬه اﻟﻠﻐﺔ؟"
واﻟﺴﺒﺐ ھﻮ أن اﻵﻟﺔ ﻻ ﺗﻌﺮف ﻣﺘﻰ ﺳﺘﻨﺘﮭﻲ ھﺬه اﻟﻤﺘﺴﻠﺴﻠﺔ ﻟﺬﻟﻚ ﯾﺠﺐ أن ﺗﻜﻮن اﻵﻟﺔ ﺟﺎھﺰة داﺋﻤﺎ وﻓﻲ أﯾﺔ ﻟﺤﻈﺔ
ﻟﻺﺟﺎﺑﺔ ﻋﻠﻰ ھﺬا اﻟﺴﺆال .ﻟﻺﺟﺎﺑﺔ ﻋﻠﻰ ھﺬا اﻟﺴﺆال ﯾﺠﺐ أوﻻ ﺗﺤﺪﯾﺪ ﻣﺎ ھﻲ اﻷﺷﯿﺎء اﻟﺘﻲ ﯾﺠﺐ ﻋﻠﻰ ذاﻛﺮة اﻵﻟﺔ
ﺣﻔﻈﮭﺎ أو ﺗﺨﺰﯾﻨﮭﺎ ﻋﻦ اﻟﻤﺘﺴﻠﺴﻠﺔ .وﺑﻤﺎ أن ھﺬا اﻟﻨﻮع ﻣﻦ اﻵﻻت ﯾﻤﺘﻠﻚ ذاﻛﺮة ﻣﺤﺪودة ﺟﺪا ﻷﻧﮭﺎ ﺗﻤﺘﻠﻚ ﻋﺪد ﻣﺤﺪود
ﻣﻦ اﻟﺤﺎﻻت Statesوھﺬا ﯾﻌﻨﻲ أن اﻵﻟﺔ ﻻ ﺗﺴﺘﻄﯿﻊ ﺗﺬﻛﺮ أو ﺗﺨﺰﯾﻦ ﻛﻤﯿﺔ ﻛﺒﯿﺮة ﻣﻦ اﻟﺒﯿﺎﻧﺎت .وﻟﻮ ﻓﺮﺿﻨﺎ أن
ﻣﺪﺧﻼت ھﺬه اﻵﻟﺔ ھﻲ ﻣﺘﺴﻠﺴﻠﺔ ﻃﻮﯾﻠﺔ ﯾﺒﻠﻎ ﻃﻮﻟﮭﺎ ﻣﻼﯾﯿﻦ اﻟﻜﯿﻠﻮﻣﺘﺮات ﻓﺈﻧﮫ ﻣﻦ اﻟﻤﺴﺘﺤﯿﻞ ﻋﻠﻰ ھﺬا اﻟﻨﻮع ﻣﻦ
اﻵﻻت ﺣﻔﻆ أو ﺗﺬﻛﺮ ﺟﻤﯿﻊ رﻣﻮز اﻟﻤﺘﺴﻠﺴﻠﺔ .وﻟﺤﺴﻦ اﻟﺤﻆ ﻓﺈﻧﮫ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﻌﺪﯾﺪ ﻣﻦ اﻟﻠﻐﺎت ﻟﯿﺴﺖ ھﻨﺎك ﺿﺮورة
ﻟﺤﻔﻆ اﻟﻤﺪﺧﻼت ﻛﻠﮭﺎ وإﻧﻤﺎ ﯾﻜﻔﻲ ﻓﻘﻂ ﺣﻔﻆ ﺑﻌﺾ اﻟﻤﻌﻠﻮﻣﺎت اﻟﻤﮭﻤﺔ .أﻣﺎ ﺗﺤﺪﯾﺪ ﻣﺎ ھﻲ اﻟﻤﻌﻠﻮﻣﺎت اﻟﺘﻲ ﺗﻌﺘﺒﺮ ﻣﮭﻤﺔ
ﻓﯿﻌﺘﻤﺪ ﻋﻠﻰ ﺧﺼﻮﺻﯿﺔ اﻟﻠﻐﺔ ذاﺗﮭﺎ ﺑﻤﻌﻨﻰ أن ﻟﻜﻞ ﻟﻐﺔ ﻣﻌﻠﻮﻣﺎت ﻣﮭﻤﺔ ﻗﺪ ﻻ ﺗﻜﻮن ﻣﮭﻤﺔ ﻓﻲ ﻟﻐﺔ أﺧﺮى.
ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ﻟﻮ أردﻧﺎ ﺗﺼﻤﯿﻢ Finite Automataوﻟﺘﻜﻦ E1ﺑﺤﯿﺚ ﺗﺴﺘﻄﯿﻊ ھﺬه اﻵﻟﺔ إدراك ﻟﻐﺔ ﺗﻨﺘﻤﻲ
رﻣﻮزھﺎ إﻟﻰ اﻷﺑﺠﺪﯾﺔ } {0,1وﺗﺘﻜﻮن ھﺬه اﻟﻠﻐﺔ ﻣﻦ ﺟﻤﯿﻊ اﻟﻤﺘﺴﻠﺴﻼت اﻟﺘﻲ ﺗﺤﺘﻮي ﻋﻠﻰ ﻋﺪد ﻓﺮدي ﻣﻦ اﻵﺣﺎد.
ﻓﺈﻧﮫ ﺑﺪاﯾﺔ ﯾﺠﺐ أن ﺗﺒﺪأ ھﺬه اﻵﻟﺔ ﺑﺎﺳﺘﻘﺒﺎل ﻣﺘﺴﻠﺴﻠﺔ اﻹدﺧﺎل اﻟﻤﻜﻮﻧﺔ ﻣﻦ اﻷﺻﻔﺎر واﻵﺣﺎد رﻣﺰا ﺗﻠﻮ اﻵﺧﺮ.
واﻟﺴﺆال اﻟﻤﮭﻢ ھﻨﺎ "ھﻞ ﯾﺠﺐ ﻋﻠﻰ ھﺬه اﻵﻟﺔ ﺗﺬﻛﺮ )ﺣﻔﻆ( ﺟﻤﯿﻊ رﻣﻮز ﻣﺘﺴﻠﺴﻠﺔ اﻹدﺧﺎل؟" ﺣﺘﻰ ﺗﻘﺮر ھﻞ ﻋﺪد
اﻵﺣﺎد ﻓﯿﮭﺎ ﻓﺮدي .واﻹﺟﺎﺑﺔ ھﻲ ﻻ .وذﻟﻚ ﻷﻧﮫ ﺑﺒﺴﺎﻃﺔ ﯾﻜﻔﻲ ﻓﻘﻂ ﺣﻔﻆ ﻣﻌﻠﻮﻣﺔ ﻣﮭﻤﺔ واﺣﺪة ھﻲ "ھﻞ ﻋﺪد اﻵﺣﺎد
اﻟﺘﻲ ﺗﻤﺖ ﻗﺮاءﺗﮭﺎ ﺣﺘﻰ اﻵن ﻓﺮدي أم زوﺟﻲ؟" وﻣﻊ ﻗﺮاءة ﻛﻞ واﺣﺪ ﺟﺪﯾﺪ ﺳﻮف ﺗﺘﻐﯿﺮ اﻟﻘﯿﻤﺔ اﻟﻤﺨﺰﻧﺔ.
ﻋﻨﺪﻣﺎ ﺗﺒﺪأ اﻵﻟﺔ ﻓﻲ ﻗﺮاءة اﻟﻤﺪﺧﻼت ﻓﺈن اﻟﻤﻌﻠﻮﻣﺎت اﻟﻤﮭﻤﺔ اﻟﺘﻲ ﯾﺠﺐ ﺣﻔﻈﮭﺎ ﻋﻦ اﻟﻤﺘﺴﻠﺴﻠﺔ ھﻲ ﻋﺒﺎرة ﻋﻦ
.2اﻟﻌﺪد ﻓﺮدي ﻗﺎﺋﻤﺔ ﻣﻦ اﺣﺘﻤﺎﻟﯿﻦ ھﻤﺎ .1اﻟﻌﺪد زوﺟﻲ
ﺗﺒﻌﺎ ﻟﺬﻟﻚ ﻓﺈﻧﮫ ﺳﯿﺘﻢ اﺧﺘﯿﺎر ﺣﺎﻻت اﻵﻟﺔ E1ﺣﺴﺐ اﻟﻤﺨﻄﻂ اﻟﺘﺎﻟﻲ:
ﺣﯿﺚ q even :ﺗﻤﺜﻞ اﻟﺤﺎﻟﺔ اﻟﺘﻲ ﯾﻜﻮن ﻓﯿﮭﺎ ﻋﺪد اﻟﺤﺎﻻت اﻟﺘﻲ ﺗﻤﺖ ﻗﺮاءﺗﮭﺎ زوﺟﻲ
q oddﺗﻤﺜﻞ اﻟﺤﺎﻟﺔ اﻟﺘﻲ ﯾﻜﻮن ﻓﯿﮭﺎ ﻋﺪد اﻟﺤﺎﻻت اﻟﺘﻲ ﺗﻤﺖ ﻗﺮاءﺗﮭﺎ ﻓﺮدي
اﻟﺨﻄﻮة اﻟﺘﺎﻟﯿﺔ ھﻲ ﺿﺒﻂ ﻋﻤﻠﯿﺔ اﻻﻧﺘﻘﺎل ﺑﯿﻦ اﻟﺤﺎﻟﺘﯿﻦ ﺑﻌﺪ ﻗﺮاءة ﻛﻞ رﻣﺰ ﻓﻲ اﻟﻤﺘﺴﻠﺴﻠﺔ .وﻧﻼﺣﻆ ھﻨﺎ أﻧﮫ ﺑﻌﺪ
ﻗﺮاءة اﻟﺮﻣﺰ 0ﻓﺈن ﻋﺪد اﻵﺣﺎد ﻟﻦ ﯾﺘﻐﯿﺮ وھﺬا ﯾﻌﻨﻲ أن اﻵﻟﺔ ﺳﻮف ﺗﺒﻘﻰ ﻓﻲ ﻧﻔﺲ اﻟﺤﺎﻟﺔ اﻟﻤﻮﺟﻮدة ﻓﯿﮭﺎ ﻓﻌﻼ
وﻋﻨﺪ ﻗﺮاءة اﻟﺮﻣﺰ 1ﻓﺄن اﻵﻟﺔ ﺳﻮف ﺗﻨﺘﻘﻞ ﻣﻦ اﻟﺤﺎﻟﺔ اﻟﻤﻮﺟﻮدة ﻓﯿﮭﺎ إﻟﻰ اﻟﺤﺎﻟﺔ اﻷﺧﺮى.
ﺑﻌﺪ ھﺬه اﻟﻤﺮﺣﻠﺔ ﯾﺠﺐ ﺗﺤﺪﯾﺪ اﻟﺤﺎﻟﺔ اﻻﺑﺘﺪاﺋﯿﺔ اﻟﺘﻲ ﺳﻮف ﺗﺒﺪأ اﻵﻟﺔ ﻋﻤﻠﮭﺎ ﻣﻨﮭﺎ .اﻟﺮﻣﺰ اﻷول اﻟﺬي ﺳﻮف ﺗﺒﺪأ
اﻵﻟﺔ ﺑﻘﺮاءﺗﮫ ھﻮ 0وھﻮ ﯾﻌﺘﺒﺮ ﻋﺪد زوﺟﻲ ﻟﺬﻟﻚ ﺳﻨﻌﺘﻤﺪ اﻟﺤﺎﻟﺔ اﻻﺑﺘﺪاﺋﯿﺔ q evenﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ أدﻧﺎه:
33
0 1 0
1
وأﺧﯿﺮا ﯾﺒﻘﻰ اﺧﺘﯿﺎر ﺣﺎﻟﺔ اﻟﻘﺒﻮل Accept Stateوھﻲ ﺑﻼ ﺷﻚ ﺳﺘﻜﻮن اﻟﺤﺎﻟﺔ q oddﻷﻧﮭﺎ ھﻲ اﻟﺤﺎﻟﺔ
اﻟﻤﻄﻠﻮﺑﺔ .وﺑﺬﻟﻚ ﯾﺼﺒﺢ اﻟﺸﻜﻞ اﻟﻨﮭﺎﺋﻲ ﻟﻤﺨﻄﻂ ھﺬه اﻵﻟﺔ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ:
0 0
1
1
ﻣﺜﺎل :ﺳﻮف ﻧﻘﻮم ﻓﻲ ھﺬا اﻟﻤﺜﺎل ﺑﺘﺼﻤﯿﻢ Finite Automatonوﻟﯿﻜﻦ E1ﺑﺤﯿﺚ ﺗﻜﻮن ھﺬه اﻵﻟﺔ ﻗﺎدرة
ﻋﻠﻰ إدراك ﻟﻐﺔ ھﻲ ﻋﺒﺎرة ﻋﻦ ﺟﻤﯿﻊ اﻟﻤﺘﺴﻠﺴﻼت اﻟﺘﻲ ﺗﺤﺘﻮي ﻋﻠﻰ اﻟﻤﺘﺴﻠﺴﻠﺔ اﻟﻔﺮﻋﯿﺔ 001ﻣﺜﻞ
اﻟﻤﺘﺴﻠﺴﻼت 1110011 ,001 ,1001 ,0010 :وھﻜﺬا ﺣﯿﺚ أن ﺟﻤﯿﻊ اﻟﻤﺘﺴﻠﺴﻼت ﺟﺰء ﻣﻦ ھﺬه اﻟﻠﻐﺔ .ﻓﻲ
ﺣﯿﻦ اﻟﻤﺘﺴﻠﻼت 11110 ,0000 ,11ﻻ ﺗﻌﺘﺒﺮ ﺟﺰءاً ﻣﻦ ھﺬه اﻟﻠﻐﺔ.
ﯾﺘﻠﺨﺺ ﻣﺒﺪأ ﻋﻤﻞ ھﺬه اﻵﻟﺔ ﻓﻲ أﻧﮫ ﻋﻨﺪﻣﺎ ﺗﺒﺪأ اﻟﺮﻣﻮز ﺑﺎﻟﺪﺧﻮل ﻓﺈن اﻵﻟﺔ ﺳﻮف ﺗﺘﺠﺎھﻞ ﺟﻤﯿﻊ اﻵﺣﺎد اﻟﺘﻲ
ﯾﺘﻢ إدﺧﺎﻟﮭﺎ أي أﻧﮭﺎ ﻟﻦ ﺗﻘﻮم ﺑﺘﺬﻛﺮھﺎ .أﻣﺎ إذا ﺗﻢ إدﺧﺎل اﻟﺮﻣﺰ 0ﻓﺈﻧﮭﺎ ﺳﺘﻘﻮم ﺑﺘﺬﻛﺮ ھﺬه اﻟﺤﺎﻟﺔ ﻋﻠﻰ اﻋﺘﺒﺎر أن
ھﺬا اﻟﺮﻣﺰ ھﻮ أول رﻣﺰ ﻣﻦ اﻟﺮﻣﻮز اﻟﺜﻼﺛﺔ ﻓﻲ اﻟﻤﺘﺴﻠﺴﻠﺔ اﻟﻔﺮﻋﯿﺔ اﻟﻤﻄﻠﻮﺑﺔ .ﻋﻨﺪ ھﺬه اﻟﻨﻘﻄﺔ إذا ﺗﻢ إدﺧﺎل
اﻟﺮﻣﺰ 1ﻓﺈن اﻵﻟﺔ ﺳﺘﻘﻮم ﺑﺘﺠﺎھﻞ ھﺬا اﻟﺮﻣﺰ وﺗﻌﻮد اﻵﻟﺔ إﻟﻰ اﻟﺤﺎﻟﺔ اﻻﺑﺘﺪاﺋﯿﺔ أي ﻓﻲ اﻧﺘﻈﺎر إدﺧﺎل 0ﻣﻦ
ﺟﺪﯾﺪ .أﻣﺎ إذا ﺗﻢ إدﺧﺎل 0ﺛﺎﻧﻲ ﻓﺈن اﻵﻟﺔ ﺳﻮف ﺗﺘﺬﻛﺮ ھﺬه اﻟﺤﺎﻟﺔ ﻋﻠﻰ اﻋﺘﺒﺎر أﻧﮫ ﺗﻢ اﺳﺘﻘﺒﺎل رﻣﺰﯾﻦ ﻣﻦ
اﻟﺮﻣﻮز اﻟﺜﻼﺛﺔ اﻟﻤﻄﻠﻮﺑﺔ .ﺑﻌﺪ ذﻟﻚ إذا ﺗﻢ إدﺧﺎل 0ﻣﻦ ﺟﺪﯾﺪ ﻓﺈن اﻵﻟﺔ ﺳﻮف ﺗﺒﻘﻰ ﻓﻲ ﻧﻔﺲ اﻟﺤﺎﻟﺔ ﻓﻲ اﻧﺘﻈﺎر
وﺻﻮل اﻟﺮﻣﺰ اﻷﺧﯿﺮ وھﻮ .1وﻋﻨﺪ وﺻﻮل اﻟﺮﻣﺰ 1وﺑﻐﺾ اﻟﻨﻈﺮ ﻋﻦ ﻋﺪد اﻷﺻﻔﺎر اﻟﺘﻲ ﺗﻢ إدﺧﺎﻟﮭﺎ ﻗﺒﻠﮫ ﻓﺈن
اﻵﻟﺔ ﺳﻮف ﺗﺘﺬﻛﺮ ھﺬه اﻟﺤﺎﻟﺔ ﻋﻠﻰ أﻧﮭﺎ اﻟﺤﺎﻟﺔ اﻟﻤﻄﻠﻮﺑﺔ وھﻲ ﻣﺘﺴﻠﺴﻠﺔ ﻓﺮﻋﯿﺔ ﻣﻜﻮﻧﺔ ﻣﻦ .001ﺑﻌﺪ ذﻟﻚ
ﺳﺘﺒﻘﻰ اﻵﻟﺔ ﻓﻲ ﻧﻔﺲ اﻟﺤﺎﻟﺔ ﻣﮭﻤﺎ ﻛﺎﻧﺖ اﻟﺮﻣﻮز اﻟﺘﻲ ﯾﺘﻢ إدﺧﺎﻟﮭﺎ.
34
.4ﻣﺸﺎھﺪة اﻟﺮﻣﻮز 001
: qاﻟﺤﺎﻟﺔ اﻻﺑﺘﺪاﺋﯿﺔ )وھﻲ ﺣﺎﻟﺔ ﻋﺪم ﻣﺸﺎھﺪة أي رﻣﺰ ﻣﻦ رﻣﻮز اﻟﻤﺘﺴﻠﺴﻠﺔ اﻟﻤﻄﻠﻮﺑﺔ(.
أﻣﺎ ﻋﻤﻠﯿﺔ اﻻﻧﺘﻘﺎل ﺑﯿﻦ اﻟﺤﺎﻻت ﻓﺴﻮف ﺗﻜﻮن ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ:
.1ﻓﻲ اﻟﺤﺎﻟﺔ اﻻﺑﺘﺪاﺋﯿﺔ : qإذا ﺗﻢ ﻗﺮاءة اﻟﺮﻣﺰ 1ﻓﺈن اﻻﻧﺘﻘﺎل ﺳﯿﺘﻢ إﻟﻰ اﻟﺤﺎﻟﺔ ﻧﻔﺴﮭﺎ وإذا ﺗﻢ ﻗﺮاءة 0ﻓﺴﯿﺘﻢ
اﻻﻧﺘﻘﺎل
.2ﻓﻲ اﻟﺤﺎﻟﺔ : q0إذا ﺗﻢ ﻗﺮاءة 1ﯾﺘﻢ اﻻﻧﺘﻘﺎل إﻟﻰ اﻟﺤﺎﻟﺔ اﻻﺑﺘﺪاﺋﯿﺔ qوإذا ﺗﻢ ﻗﺮاءة 0ﯾﺘﻢ اﻻﻧﺘﻘﺎل إﻟﻰ اﻟﺤﺎﻟﺔ
. q00
.3ﻓﻲ اﻟﺤﺎﻟﺔ :q00ﺑﻌﺪ ﻗﺮاءة اﻟﺮﻣﺰ 1ﯾﺘﻢ اﻻﻧﺘﻘﺎل إﻟﻰ q001ﻓﻲ ﺣﯿﻦ ﻗﺮاءة 0ﺗﺒﻘﻲ اﻵﻟﺔ ﻓﻲ اﻟﺤﺎﻟﺔ ﻧﻔﺴﮭﺎ.
.4ﻓﻲ اﻟﺤﺎﻟﺔ : q001ﻗﺮاءة اﻟﺮﻣﺰ 0أو ﻗﺮاءة اﻟﺮﻣﺰ 1ﺳﻮف ﺗﺒﻘﻲ اﻵﻟﺔ ﻓﻲ اﻟﺤﺎﻟﺔ ﻧﻔﺴﮭﺎ.
أﻣﺎ ﺣﺎﻟﺔ اﻟﻘﺒﻮل ﻓﮭﻲ اﻟﺤﺎﻟﺔ . q001وﺑﺬﻟﻚ ﯾﻜﻮن ﻣﺨﻄﻂ اﻟﺤﺎﻟﺔ ﻟﮭﺬه اﻵﻟﺔ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ:
1 0
0,1
0
1
35