વ્યાકરણ બાંધકામના ઉદાહરણો. ઔપચારિક વ્યાકરણ ઔપચારિક વ્યાકરણનો ઉપયોગ કરીને રોબોટ વર્તન વ્યાખ્યાયિત કરો

ચાર વૈજ્ઞાનિક દિશાઓને અલગ પાડી શકાય છે, જે વિવિધ સમસ્યાઓના ચાર ફોર્મ્યુલેશન સાથે સંકળાયેલી છે, જે શરૂઆતમાં સ્વતંત્ર રીતે વિકસિત થઈ હતી અને એકબીજા સાથે બહુ ઓછું જોડાણ ધરાવતા હોય તેવું લાગતું હતું.

આમાંના પ્રથમ ક્ષેત્રો ઔપચારિક અથવા ગાણિતિક ભાષાશાસ્ત્રના પાયાની રચના સાથે સંકળાયેલા છે. સાહિત્યિક ભાષાની રચનાના ઔપચારિક અભ્યાસના સંદર્ભમાં મૂળરૂપે ઉભરી આવ્યા પછી, ગાણિતિક ભાષાશાસ્ત્ર ખાસ કરીને ઝડપથી વિકસિત થવાનું શરૂ કર્યું જ્યારે, ઉદાહરણ તરીકે, મશીન અનુવાદના નીચેના પ્રશ્નો ઘડવામાં આવ્યા હતા:

આપેલ નિયમોના સમૂહ અને કોમ્પ્યુટર મેમરીની આપેલ રકમને જોતાં કોઈપણ શબ્દસમૂહનું એક ભાષામાંથી બીજી ભાષામાં ભાષાંતર કરી શકાય છે;

આ શરતો હેઠળ અનુવાદ માટે ઉપલબ્ધ વિવિધ ગ્રંથોનું વર્ણન કેવી રીતે કરવું? વગેરે

આવા પ્રશ્નોના જવાબ આપવાના પ્રયત્નો માટે તરત જ "શબ્દકોષ", "વ્યાકરણ", "ભાષા" ની વિભાવનાઓની ઔપચારિકતા જરૂરી છે.

અનુવાદકોના ઉદભવે કોમ્પ્યુટર સિસ્ટમના સામાન્ય સિદ્ધાંતના નિર્માણ માટે અનુવાદની સમસ્યાને કેન્દ્રિય બનાવી.

ગતિશીલ પ્રણાલીઓના ઔપચારિક મોડલના નિર્માણથી સંબંધિત વિજ્ઞાનની એક શાખા સંપૂર્ણપણે સ્વતંત્ર રીતે વિકસિત થઈ. આ પ્રકારનું એક વિશિષ્ટ ઉદાહરણ મર્યાદિત રાજ્ય મશીન મોડલ છે. મર્યાદિત સમૂહો પર નિર્ધારિત ઘણી પ્રક્રિયાઓને આવરી લેતા અને ગણતરીપાત્ર સમયમાં વિકાસ પામતા, મર્યાદિત ઓટોમેટા એટલું સંકુચિત મોડલ બહાર આવ્યું કે તેમના માટે ઉત્પાદક સિદ્ધાંતનું નિર્માણ કરવું શક્ય બન્યું.

જોકે, ટાઇમ સ્કેલ સિવાય આ મૉડલમાં અનંતતા દાખલ કરવામાં આવતાં જ, તે તરત જ સિસ્ટમોના અતિશય સામાન્ય વર્ગ તરફ દોરી જાય છે, જે એક મનસ્વી અલ્ગોરિધમ જેવા વ્યાપક ખ્યાલની સમકક્ષ છે. આનાથી ગતિશીલ પ્રણાલીઓના મધ્યવર્તી મોડેલો બનાવવાના અસંખ્ય પ્રયાસોને જન્મ આપ્યો છે, જે મર્યાદિત ઓટોમેટન કરતાં વિશાળ છે પરંતુ ટ્યુરિંગ મશીન કરતાં સાંકડી છે.

ગાણિતીક નિયમોનો સામાન્ય સિદ્ધાંત આધુનિક ગણિતની શાખા તરીકે સ્વતંત્ર રીતે અને સમાંતર રીતે વિકસિત થયો. "માર્કોવ સામાન્ય અલ્ગોરિધમ", "સામાન્ય પુનરાવર્તિત કાર્ય" અને "ટ્યુરિંગ મશીન" વિભાવનાઓની સમાનતા સ્થાપિત કરવામાં આવી હતી, અને ચર્ચની થીસીસ આ ત્રણ વિભાવનાઓને અલ્ગોરિધમના સાહજિક વિચાર સાથે જોડે છે.

કોમ્પ્યુટર ટેક્નોલોજીના વિકાસએ ગાણિતીક સિદ્ધાંતના ગાણિતીક સિદ્ધાંત માટે એક નવું કાર્ય ઉભું કર્યું છે: એલ્ગોરિધમનું વર્ગીકરણ કરવું જરૂરી બન્યું છે, ઉદાહરણ તરીકે, કોમ્પ્યુટેશનલ જટિલતા દ્વારા.

વિભાવનાઓ "એલ્ગોરિધમ" અને "ટ્યુરિંગ મશીન" ની સમાનતાએ એ માનવું સ્વાભાવિક બનાવ્યું કે અલ્ગોરિધમ્સના વર્ગીકરણની શોધ મર્યાદિત ઓટોમેટન અને ટ્યુરિંગ મશીનના મોડલ વચ્ચેના મધ્યવર્તી મોડલ્સની શોધ સાથે સંકળાયેલ હશે.

આમ, સૂચિબદ્ધ દિશાઓ નજીકથી સંબંધિત હોવાનું બહાર આવ્યું છે અને ભાષાઓનો સિદ્ધાંત, કેવળ ભાષાકીય સમસ્યાઓ દ્વારા ઉત્પન્ન થાય છે, એલ્ગોરિધમ્સ અને ગતિશીલ પ્રણાલીઓના સિદ્ધાંતમાં સામેલ ગણિતશાસ્ત્રીઓના હિતોના કેન્દ્રમાં હોવાનું બહાર આવ્યું છે.

ઔપચારિક ભાષાઓ અને વ્યાકરણનો સિદ્ધાંતગાણિતિક ભાષાશાસ્ત્રનો મુખ્ય વિભાગ છે - કુદરતી અને કૃત્રિમ ભાષાઓની રચનાના અભ્યાસ પર ધ્યાન કેન્દ્રિત કરતી ચોક્કસ ગાણિતિક શિસ્ત.

આ સિદ્ધાંત 50 ના દાયકામાં અમેરિકન ભાષાશાસ્ત્રીના કાર્યોમાં ઉદ્ભવ્યો હતો

એન. ચોમ્સ્કી. ઉપયોગમાં લેવાતા ગાણિતિક ઉપકરણની પ્રકૃતિ દ્વારા, ઔપચારિક વ્યાકરણ અને ભાષાઓનો સિદ્ધાંત એલ્ગોરિધમ્સના સિદ્ધાંત અને ઓટોમેટાના સિદ્ધાંતની નજીક છે.

ચાલો કેટલીક વ્યાખ્યાઓ આપીએ.

વ્યાકરણ દ્વારા અમારો અર્થ અમુક છે નિયમોની સિસ્ટમ કે જે ભાષા પ્રતીકોની સાંકળો (મર્યાદિત સિક્વન્સ) ના સમૂહને વ્યાખ્યાયિત કરે છે.

આ સાંકળોને વિવિધ સ્તરોની ભાષાકીય વસ્તુઓ તરીકે અર્થઘટન કરી શકાય છે: શબ્દ સ્વરૂપો, શબ્દસમૂહો, વાક્યો.

શબ્દ સ્વરૂપ અથવા માત્ર એક શબ્દમોર્ફિમ્સનો ક્રમ (સાંકળ) છે.

મોર્ફીમશબ્દનો સૌથી નાનો વ્યાકરણની દ્રષ્ટિએ નોંધપાત્ર ભાગ છે.

ઉદાહરણ તરીકે, “LED” શબ્દમાં morphemes ved + w + y (મૂળ, પ્રત્યય, અંત) નો સમાવેશ થાય છે.

વાક્ય અથવા વાક્યશબ્દ સ્વરૂપોની સાંકળ છે.

ભાષાનું વ્યાકરણનિયમોનો મર્યાદિત સમૂહ છે જે આ ભાષાને વ્યાખ્યાયિત કરે છે.

ભાષાનું વ્યાકરણ ગણી શકાય આ ભાષાની રચનાનો સિદ્ધાંત, એટલે કે, વાક્ય નિર્માણની પુનરાવર્તિત પેટર્નનો સિદ્ધાંત, જેને ભાષાનું સિન્ટેક્ટિક માળખું કહેવાય છે.

ભાષા વાક્યરચના- આ ભાષામાં વાક્યો બનાવવાના નિયમો છે.

ભાષાના અર્થશાસ્ત્ર- આ નિયમોનું અર્થઘટન, વાક્યરચનાનો ઉપયોગ કરવાના નિયમો.

આમ, બીજા શબ્દોમાં કહીએ તો આપણે કહી શકીએ - ભાષા વ્યાકરણતે નિયમોનો મર્યાદિત સમૂહ છે જે ભાષાને વાક્યરચના માળખા તરીકે વારંવાર વ્યાખ્યાયિત કરે છે.

પ્રથમ અને મુખ્ય જરૂરિયાતવ્યાકરણ માટે નીચે મુજબ છે:

તેણી વિશેષતા હોવી જોઈએતેની ભાષાના દરેક વાક્ય માળખાકીય વર્ણન, એટલે કે, વાક્ય કયા ઘટકોમાંથી બનાવવામાં આવ્યું છે, તેમનો ક્રમ, ગોઠવણ, વગેરે શું છે તેના કેટલાક સંકેતો.

જો અને માત્ર જો ભાષાના વાક્યરચના એકમો અને તેમની વચ્ચેના વંશવેલો સંબંધને વ્યાકરણ દ્વારા અસ્પષ્ટપણે વ્યાખ્યાયિત કરવામાં આવે તો જ માળખાકીય વર્ણન અસ્પષ્ટ હશે.

બીજી જરૂરિયાતવ્યાકરણ માટે તેણી છે અંગ.

જો આપણે નિયમોના અનિશ્ચિત સમૂહ સાથે વ્યાકરણને ધારીએ, તો વ્યાકરણ બનાવવાની ખૂબ જ સમસ્યા વણઉકેલાયેલી તરીકે દૂર થઈ જશે.

વ્યાકરણનું વર્ગીકરણનીચેના સ્વરૂપમાં રજૂ કરી શકાય છે:

જો સામાન્ય વ્યાકરણ તમને વાક્યો બનાવવા માટે ઘણા નિયમોનો ઉલ્લેખ કરવાની મંજૂરી આપે છે, તો પછી ઔપચારિક વ્યાકરણ એ નિયમોના આવા સેટનો અભ્યાસ અને વર્ણન કરવાનો એક માર્ગ છે.

સામાન્ય અને ઔપચારિક વ્યાકરણ વચ્ચે આવશ્યક તફાવત છે. ઔપચારિક વ્યાકરણમાં, તમામ નિવેદનો સારી રીતે વ્યાખ્યાયિત પ્રતીકો અને ક્રિયાઓની નાની સંખ્યાના સંદર્ભમાં ઘડવામાં આવે છે.

આ ઔપચારિક વ્યાકરણને તેમના તાર્કિક બંધારણની દ્રષ્ટિએ પ્રમાણમાં સરળ બનાવે છે અને તેમના ગુણધર્મોના અભ્યાસને સરળ બનાવે છે, જો કે, ઔપચારિક વ્યાકરણ કુદરતી ભાષાઓના વર્ણન માટે ખૂબ જ બોજારૂપ છે અને તેથી તે ફક્ત સૌથી સામાન્ય ગુણધર્મોના સૈદ્ધાંતિક અભ્યાસ માટે જ બનાવાયેલ છે. એક ભાષાનું.

ઓળખવું, જો વિચારણા હેઠળની કોઈપણ સાંકળ માટે, તે નક્કી કરી શકે છે કે આ સાંકળ સાચી છે કે નહીં, અને જો જવાબ હકારાત્મક છે, તો આ સાંકળની રચના પર સૂચનાઓ આપો.

ઔપચારિક વ્યાકરણ કહેવાય છે જનરેટિવ, જો તેની સહાયથી તેની રચના વિશે સૂચનાઓ આપતી વખતે, સાચી સાંકળ બાંધવી શક્ય છે, અને એક જ ખોટી સાંકળ બાંધવી અશક્ય છે.

ઔપચારિક વ્યાકરણ કહેવાય છે પરિવર્તનકારી, જો કોઈ યોગ્ય રીતે બાંધવામાં આવેલી સાંકળ માટે તે તેના મેપિંગને ફરીથી યોગ્ય સાંકળના રૂપમાં બનાવવામાં સક્ષમ છે, જે ક્રમમાં દર્શાવેલ મેપિંગને તે હાથ ધરવામાં આવે છે તેનો ઉલ્લેખ કરે છે.

ચાલો એક વર્ગને ધ્યાનમાં લઈએ જે વ્યાકરણ બનાવે છે. જનરેટિવ વ્યાકરણને ઓર્ડર્ડ સિસ્ટમ કહી શકાય

,

જ્યાં ટર્મિનલ તરીકે ઓળખાતા પ્રતીકોનો મર્યાદિત સમૂહ છે

અથવા મુખ્ય જી શબ્દકોશ.

પ્રારંભિક તત્વોનો સમૂહ જેમાંથી સાંકળો અથવા મૂળભૂત શબ્દોનો શબ્દકોશ બનાવવામાં આવે છે, જેમાંથી વાક્યો બનાવવામાં આવે છે.

બિન-ટર્મિનલ (સહાયક) શબ્દકોશ G તરીકે ઓળખાતા પ્રતીકોનો મર્યાદિત બિન-ખાલી સમૂહ.

બિન-ટર્મિનલ શબ્દકોષ એ પ્રતીકોનો સમૂહ છે જે પ્રારંભિક તત્વોના વર્ગો અથવા સાંકળો અથવા વાક્યરચના પ્રકારોનો શબ્દકોશ દર્શાવે છે.

તત્વો અને અનુક્રમે બિન-ટર્મિનલ અને ટર્મિનલ પ્રતીકો કહેવાય છે.

- જી વ્યાકરણ શબ્દકોશ.

આપણે તત્વોના મનસ્વી મર્યાદિત ક્રમને શબ્દકોશમાં સાંકળ કહીશું.

ખાલી સાંકળને દ્વારા સૂચવવામાં આવે છે, એટલે કે. . આ સાંકળના સભ્યોની સંખ્યાને તેની લંબાઈ કહેવામાં આવશે અને તે દ્વારા સૂચિત કરવામાં આવશે.

શબ્દકોષના અક્ષર શબ્દમાળાઓ સંકલન ક્રિયાનો ઉપયોગ કરીને મેળવવામાં આવે છે
ઉદાહરણ તરીકે, . જ્યાં કોઈ અસ્પષ્ટતા ન હોય ત્યાં પ્રતીકને છોડી દેવામાં આવી શકે છે.

જોડાણ કામગીરી સહયોગી છે, પરંતુ વિનિમયાત્મક નથી.
ની સમકક્ષ.

એસ - વ્યાકરણ પ્રારંભિક અક્ષર.

આ એક સમર્પિત બિન-ટર્મિનલ પ્રતીક છે જે તે ભાષાકીય વસ્તુઓના વર્ગને દર્શાવે છે જેનું વ્યાકરણ વર્ણન કરવાનો છે. કેટલીકવાર સાહિત્યમાં S ને વ્યાકરણનું સ્વયંસિદ્ધ અથવા લક્ષ્ય કહેવામાં આવે છે,

પી - વ્યાકરણના નિયમોઅથવા j à y સ્વરૂપની સાંકળોનો મર્યાદિત સમૂહ, જ્યાં j અને y એ શબ્દકોશ V માં શબ્દો છે અને સાંકળ j એ શબ્દકોશ Vнમાંથી ઓછામાં ઓછું એક અક્ષર ધરાવે છે.

મર્યાદિત દ્વિસંગી સંબંધ à ને "j ને y સાથે બદલો" તરીકે અર્થઘટન કરવામાં આવે છે.

આ સંબંધ અસમપ્રમાણ અને અપ્રતિબિંબિત છે.

j à y સ્વરૂપની સાંકળને વ્યાકરણના નિયમો અથવા કહેવામાં આવે છે અવેજીના નિયમો, અને સેટ P એ વ્યાકરણ યોજના છે.

જો વ્યાકરણ આપવામાં આવે છે , પછી અમે કહીશું:

j à y, જો w=x1jx2 , w"=x1jx2 અને (j à y)OP હોય તો સાંકળ w’ સીધી સાંકળ w માંથી મેળવવામાં આવે છે.

સાંકળ ક્રમ j=j0, j1, j2 … , jn = y (n³1) ,

જ્યાં 0 £ i £ n અને j - છે સર્કિટ આઉટપુટપોઈન્ટ y જો દરેક માટે i ji+1 ji માંથી અનુસરે છે.

સાંકળ y ના j-આઉટપુટની હાજરી આના દ્વારા સૂચવવામાં આવશે: j => y.

આવા આઉટપુટમાં લાગુ નિયમોની સંખ્યાને તેના કહેવામાં આવે છે લંબાઈ. આઉટપુટની લંબાઈ તેમાં તારોની સંખ્યા જેટલી છે, શરૂઆતના અક્ષરની ગણતરી કરતા નથી.

શબ્દમાળા y શબ્દમાળા j પરથી ઉતરી આવે છે જો તે j માંથી મેળવવામાં આવે તો G ના કેટલાક નિયમો લાગુ પડે છે.

શબ્દમાળા y નું આઉટપુટ ગણવામાં આવે છે સમાપ્ત, જો ત્યાં કોઈ સાંકળ નથી જે j થી અનુસરે છે.

માત્ર ટર્મિનલ અક્ષરો ધરાવતી સ્ટ્રિંગ કહેવાય છે ટર્મિનલ સાંકળ.

વ્યાકરણ G માં શબ્દમાળાઓના આઉટપુટના સમૂહને આ વ્યાકરણ દ્વારા જનરેટ કરાયેલ ભાષા કહેવામાં આવે છે અને L(G) દ્વારા સૂચવવામાં આવે છે.

ભાષા L(G)ને ટર્મિનલ કહેવામાં આવે છે જો L એ વ્યાકરણ G ના ટર્મિનલ સ્ટ્રિંગ્સનો સમૂહ હોય.

ચાલો સંમત થઈએ:

પ્રથમ લોઅરકેસ લેટિન અક્ષરો a, b, c, ... ટર્મિનલ શબ્દકોશ Vt ના ઘટકો દર્શાવે છે,

મોટા લેટિન અક્ષરોમાં A, B, C, ... - નોન-ટર્મિનલ શબ્દકોશ Vн ના તત્વો,

નાના ગ્રીક અક્ષરો a, b, ... - સામાન્ય શબ્દભંડોળના તત્વો V.

આ વાક્યોના બનેલા વાક્યો આ મૂળાક્ષરોના છેલ્લા અક્ષરો દ્વારા સૂચવવામાં આવશે, એટલે કે x1, y1, ... - Vt, X, Y, ... તત્વોથી બનેલા વાક્યો - Vн, w, j, y તત્વોથી બનેલા વાક્યો , ... - સામાન્ય શબ્દભંડોળ V ના તત્વોથી બનેલા વાક્યો.

જો તમે સમૂહના હોદ્દામાં *, ઉદાહરણ તરીકે V*, પ્રતીક ઉમેરો છો, તો તેનો અર્થ એ છે કે તમારો મતલબ એ બધી સાંકળોનો સમૂહ છે જે સમૂહ V ના પ્રતીકોમાંથી મેળવી શકાય છે.

ચાલો એક ઉદાહરણ જોઈએ:

G=(Vt, Vn,P,S), જ્યાં Vt=(a, b); Vн=(A,B,C); S=C; P=(Càab, CàaCb).

ચાલો w=aCb, w"=aaCbb. સાંકળ w" એક નિયમ લાગુ કરીને w માંથી સીધો ઉતરી આવે છે.

j-આઉટપુટ: aCb, aaCbb, aaCbbb, aaaabbbb (ટર્મિનલ).

લીડ લંબાઈ = 3.

ઉદાહરણ પરથી સ્પષ્ટ થાય છે કે જનરેટિવ વ્યાકરણ એ અલ્ગોરિધમ નથી.

વ્યાકરણના અવેજી નિયમો એ સૂચનાઓનો ક્રમ નથી, પરંતુ પરવાનગીઓનો સમૂહ છે.

આનો અર્થ નીચે મુજબ છે:

નિયમ j à y ને "j ને y વડે બદલી શકાય છે" તરીકે સમજવામાં આવે છે, "બદલી જવી આવશ્યક નથી";

જે ક્રમમાં નિયમો લાગુ કરવામાં આવે છે તે મનસ્વી છે, પરંતુ ચોક્કસ ક્રમ અલ્ગોરિધમમાં નિર્દિષ્ટ કરવામાં આવશે.

બે વ્યાકરણ G1 અને G2 કહેવાય છે નબળા સમકક્ષ, જો તેઓ સમાન ભાષા L(G1)= L(G2) જનરેટ કરે છે, તો તે છે તેઓ બનાવેલા શબ્દસમૂહોનો સમૂહ એકરુપ છે.

બે વ્યાકરણ કહેવાય છે મજબૂત સમકક્ષ, જો તેઓ માત્ર સમાન સાંકળો જ જનરેટ કરતા નથી, પરંતુ સમાન સાંકળોને સમાન માળખું વર્ણન પણ સોંપે છે.

આવા ઔપચારિક વ્યાકરણના ઉપયોગનો મુખ્ય હેતુ મનસ્વી વ્યાકરણ નથી, પરંતુ કેટલાક વિશિષ્ટ પ્રકારના વ્યાકરણ છે.

આ પ્રકારો નિયમોના પ્રકાર દ્વારા અલગ પડે છે.

ચોમ્સ્કીના સિદ્ધાંતમાં છે ચાર પ્રકારની ભાષાઓ, પેદા વ્યાકરણના ચાર મુખ્ય પ્રકારો.

વ્યાકરણ કહેવાય છે વ્યાકરણ પ્રકાર 0એવા કિસ્સાઓમાં જ્યાં j à y નિયમો પર કોઈ નિયંત્રણો લાદવામાં આવ્યા નથી, જ્યાં j અને y શબ્દકોશ Vમાંથી કોઈપણ શબ્દમાળા હોઈ શકે છે.

વ્યાકરણ કહેવાય છે પ્રકાર 1 વ્યાકરણ, જો સિસ્ટમ P માં નિયમો j à y સ્થિતિને સંતોષે છે j = j1Аj2 y = j1wj2,

j, y, w - શબ્દકોશ Vમાંથી સાંકળો.

આમ, નોન-ટર્મિનલ પ્રતીક A j1 અને j2 (j1 અને j2 ખાલી સ્ટ્રિંગ હોઈ શકે છે) ના સંદર્ભમાં બિન-ખાલી સ્ટ્રિંગ w પર જાય છે.

પ્રકાર 1 વ્યાકરણ કહેવામાં આવે છે સંદર્ભિત.

વ્યાકરણ કહેવાય છે વ્યાકરણ પ્રકાર 2 - સંદર્ભહીન, જો નિયમો P ની સિસ્ટમમાં ફક્ત ફોર્મના નિયમોની મંજૂરી છે:

જ્યાં A એ બિન-ટર્મિનલ પ્રતીક છે,

w એ V માંથી બિન-ખાલી સાંકળ છે.

વ્યાકરણ કહેવાય છે પ્રકાર 3 વ્યાકરણ, જ્યારે માત્ર ફોર્મના નિયમોની મંજૂરી હોય:

જ્યાં w = aB અથવા w = a.

અગ્રણી વર્ગોને પેટા વર્ગોમાં વિભાજિત કરી શકાય છે, પરંતુ તેના પર થોડી વાર પછી વધુ

L A B O R A T O R N A Y કાર્ય નંબર 1

ઔપચારિક વ્યાકરણ અને બાંધકામની રચના

કાર્યનો હેતુ પ્રોગ્રામિંગ ભાષાની રચનાનો અભ્યાસ કરવાનો અને તેને ઔપચારિક સ્વરૂપમાં લખવાનો છે; પરિણામી વ્યાકરણના આધારે તેની શુદ્ધતા ચકાસવા માટે તારણો દોરવા.

    મૂળભૂત માહિતી

ભાષાનું વ્યાકરણ બનાવવું

કોમ્પ્યુટરની સમસ્યાઓ હલ કરવા માટે હાલમાં ઉપયોગમાં લેવાતી પ્રોગ્રામિંગ ભાષાઓ તેમની રચના અને અલ્ગોરિધમ્સનું વર્ણન કરવાના માધ્યમોમાં એકબીજાથી નોંધપાત્ર રીતે અલગ છે. આ ભાષાઓમાં લખાયેલા પ્રોગ્રામને ડીબગ કરવાની અને એક્ઝિક્યુટ કરવાની પદ્ધતિઓ પણ અલગ છે.

નવી પ્રોગ્રામિંગ ભાષાઓની રચના અને વિકાસ માટેના મૂળભૂત સિદ્ધાંતો શું છે? કોમ્પ્યુટર સમસ્યાઓના નિરાકરણમાં વ્યાપક ઉપયોગ માટે રચાયેલ ભાષાએ કઈ જરૂરિયાતો સંતોષવી જોઈએ? સૌ પ્રથમ, પ્રોગ્રામર માટે ભાષા અનુકૂળ હોવી જોઈએ. ખાસ કરીને, તે શીખવું સરળ હોવું જોઈએ, અને ઓછામાં ઓછા સમય સાથે કમ્પ્યુટર પર સમસ્યાઓના ઉકેલ માટે તૈયાર કરવાના સાધન પણ હોવા જોઈએ. બીજી બાજુ, પ્રોગ્રામ સાથે કમ્પ્યુટરની કામગીરીની લાક્ષણિકતાઓને ધ્યાનમાં લેવી આવશ્યક છે: પ્રોગ્રામ પર પ્રક્રિયા કરવા માટે જરૂરી મેમરી, સમસ્યાને ઉકેલવા માટે કમ્પ્યુટરનો સમય, વગેરે. કમનસીબે, આ જરૂરિયાતો અમુક હદ સુધી છે. , સુસંગત કરવું મુશ્કેલ. કમ્પ્યુટર માટે "અનુકૂળ" શું છે તે પ્રોગ્રામર માટે સંપૂર્ણપણે અનુકૂળ નથી અને ઊલટું. પરંતુ, કારણ કે કોઈપણ કાર્યમાં, એક નિયમ તરીકે, વપરાયેલી ભાષા માટેની બંને આવશ્યકતાઓ હોય છે, પછી તેને બનાવતી વખતે તેની સાથે કામ કરવાની બંને બાજુઓ ધ્યાનમાં લેવી જરૂરી છે.

ઉપરોક્ત સારાંશ આપતા, આપણે નીચેના નિષ્કર્ષ પર દોરી શકીએ છીએ. પ્રોગ્રામિંગ લેંગ્વેજ બનાવવા માટે, તમારે ગાણિતિક અને સૈદ્ધાંતિક ઉપકરણની જરૂર છે જે એક તરફ કોઈપણ ભાષાની રચનાને ઔપચારિક રીતે વર્ણવી શકે અને બીજી તરફ, જો શક્ય હોય તો, જે ભાષા બનાવવામાં આવી રહી છે તે માટે મશીનની આવશ્યકતાઓને ધ્યાનમાં લે.

આવા ઉપકરણની મુખ્ય વ્યાખ્યા એ ઔપચારિક ભાષાની વ્યાખ્યા છે. કોઈપણ પ્રોગ્રામિંગ ભાષાને વાક્યોના સમૂહ તરીકે વ્યાખ્યાયિત કરી શકાય છે - સાંકળોનો ચોક્કસ સમૂહ અથવા પ્રતીકોના ચોક્કસ બિન-ખાલી મર્યાદિત સમૂહમાંથી પ્રાથમિક એકમોના મર્યાદિત ક્રમ, જેને શબ્દકોશ અથવા મૂળાક્ષર કહેવાય છે. પ્રોગ્રામિંગ લેંગ્વેજનો આ દૃષ્ટિકોણ માત્ર પ્રતીકોના સમૂહને નિર્દિષ્ટ કરે છે જેનો ઉપયોગ પ્રોગ્રામ લખવા માટે થઈ શકે છે, તેમજ માન્ય અથવા વાક્યરચનાત્મક રીતે યોગ્ય પ્રોગ્રામ્સનો વર્ગ, અને દરેક સાચા પ્રોગ્રામના અર્થને સ્પષ્ટ કરવાના મુદ્દાને સંબોધિત કરતું નથી. રોજિંદા ભાષણમાં શબ્દના ઉપયોગથી શબ્દમાળાઓના ચોક્કસ વ્યાખ્યાયિત સમૂહના અર્થમાં "ભાષા" શબ્દના ઉપયોગને અલગ પાડવા માટે, શબ્દમાળાઓના સમૂહને ક્યારેક કહેવામાં આવે છે. ઔપચારિક ભાષા.

ભાષાને સ્પષ્ટ કરવાની ઉપરોક્ત જરૂરિયાતને સંતોષવા માટેનો સામાન્ય અભિગમ એ છે કે ભાષાના વાક્યો અમુક નિયમો અનુસાર રચાય છે, જે એકસાથે રચના કરે છે જેને ભાષાનું વ્યાકરણ કહેવાય છે. આ વ્યાકરણના નિયમો ભાષાના વાક્યોને ચોક્કસ વાક્યરચનાત્મક માળખું સોંપે છે, જેનો ઉપયોગ વાક્યોના અર્થને સ્પષ્ટ કરવા અને નક્કી કરવા માટે થઈ શકે છે.

વાક્યરચના- ભાષાના વાક્યોનું બાહ્ય પ્રતિનિધિત્વ.

અર્થશાસ્ત્ર- ભાષાના વાક્યોની સિમેન્ટીક સામગ્રી.

ભાષા સ્વરૂપોની વાક્યરચના વ્યાખ્યાયિત કરતા નિયમોનો સમૂહ વ્યાકરણભાષા

ઔપચારિક વ્યાકરણ- કુદરતી ભાષાઓના વ્યાકરણનું અમૂર્ત સામાન્યીકરણ - અક્ષરોની સ્ટ્રિંગ્સ (સાંકળો)ને ધ્યાનમાં લે છે.

ઔપચારિક વ્યાકરણ એક ચતુર્થાંશ છે

જી = ( વી , વી , પી , એસ )

જ્યાં V એ ટર્મિનલ પ્રતીકોનો મૂળાક્ષર છે, એટલે કે. પ્રતીકો કે જે નિયમોના ડાબા ભાગોમાં શામેલ થઈ શકે છે (ભાષાના શબ્દો અને ચિહ્નોના સમૂહને અનુરૂપ છે);

વી -બિન-ટર્મિનલ પ્રતીકોના મૂળાક્ષરો (ભાષાના સામાન્યીકરણના ખ્યાલોના સમૂહને અનુરૂપ છે);

પી - ફોર્મના જનરેટિંગ નિયમોનો સમૂહ

જ્યાં  અને  એ ટર્મિનલ અને નોન-ટર્મિનલ પ્રતીકોની સાંકળો છે;

S એ વ્યાકરણનું પ્રારંભિક પ્રતીક છે (પ્રારંભિક ખ્યાલને અનુરૂપ).

કોઈપણ સાંકળ માટેનું વ્યાકરણ G    તેમાંથી કપાત કરી શકાય તેવા સાંકળોના સમૂહને સ્પષ્ટ કરે છે, તેને નીચે પ્રમાણે પુનરાવર્તિત રીતે વ્યાખ્યાયિત કરે છે: જો  P માં સમાયેલ હોય, તો સાંકળ r =  સીધી રીતે વ્યુત્પન્ન થઈ શકે છે. r), જો   અને r માંથી કપાતપાત્ર છે, તો r એ  (  + r) માંથી બિન-તુચ્છ રીતે વ્યુત્પન્ન છે; જો   + r અથવા =r હોય, તો r એ  (=*r) માંથી કપાતપાત્ર છે. એપ્લિકેશનનો ક્રમનિયમો  1  2 ... r કહેવાય છે નિષ્કર્ષસાંકળો , જો  1 = S,  r =  .

S માંથી નીકળેલી સાંકળ કહેવાય છે સંવેદનાત્મક સ્વરૂપ. સંવેદનાત્મક સ્વરૂપ કે જેમાં બિન-ટર્મિનલ પ્રતીકો શામેલ નથી તેને કહેવામાં આવે છે દરખાસ્ત. ઘણી બધી ઑફર્સસ્વરૂપો ભાષા, વ્યાકરણ G (L(G)) દ્વારા જનરેટ થાય છે.

બેકસ-ન્યુ ફોર્મ્સ આરa (BNF)

વ્યાકરણના નિયમો લખવાનું વ્યાપકપણે ઉપયોગમાં લેવાતું સ્વરૂપ છે બેકસ-નૌઅર ફોર્મ્સ (BNF).

બેકસ સામાન્ય સ્વરૂપો- અન્ય પ્રોગ્રામિંગ ભાષાઓના વાક્યરચનાનું વર્ણન કરવા માટે ખાસ રચાયેલ ભાષા. બેકસ ફોર્મ્સનો મુખ્ય ઉદ્દેશ્ય વર્ણવવામાં આવી રહેલી પ્રોગ્રામિંગ ભાષાની મૂળભૂત રચનાઓ લખવા માટેના કડક ઔપચારિક અને અસ્પષ્ટ નિયમોને સંક્ષિપ્ત અને કોમ્પેક્ટ સ્વરૂપમાં રજૂ કરવાનો છે.

કારણ કે ભાષાના કોઈપણ વાક્યને આ ભાષાના મૂળભૂત પ્રતીકોની સાંકળ તરીકે ગણી શકાય, પછી ભાષાના વાક્યરચનાનું વર્ણન કરતા ચોક્કસ ક્રમમાં બેકસ સ્વરૂપોનો ઉપયોગ કરવાના પરિણામે, આ ભાષામાં કોઈપણ યોગ્ય પ્રોગ્રામનું નિર્માણ શક્ય છે.

પ્રોગ્રામિંગ લેંગ્વેજની સાથે સાથે પ્રાકૃતિક ભાષાઓની એક લાક્ષણિકતા એ છે કે જટિલ સિન્ટેક્ટિક સ્ટ્રક્ચર્સમાં ઘટકો તરીકે અન્ય રચનાઓનો સમાવેશ થાય છે. આમ, ટર્બોપાસ્કલ પ્રોગ્રામ સામાન્ય રીતે એક બ્લોક છે, જેમાં બદલામાં એક અથવા વધુ આંતરિક બ્લોક્સ શામેલ હોઈ શકે છે. બ્લોક પણ એક જટિલ માળખું છે જેમાં વર્ણનો, નિવેદનો શામેલ છે; બાદમાં પણ ઘટકો છે, વગેરે. આમ, પ્રોગ્રામ લખવા માટે, તમારે ઘટકો તરીકે પ્રોગ્રામમાં સમાવિષ્ટ બ્લોક્સ અને અન્ય માળખાં લખવાના નિયમો જાણવાની જરૂર છે. બેકસ સ્વરૂપોમાં ઉપયોગમાં લેવાતા બીજા વર્ગના પદાર્થો ચોક્કસ રીતે વર્ણવવામાં આવી રહેલી ભાષાની રચનાઓ અથવા કહેવાતા ધાતુ ભાષાકીય ચલોના નામ છે. ધાતુકીય ચલોનો અર્થ એ વર્ણવેલ ભાષાના મૂળભૂત પ્રતીકોની સાંકળ છે.

દરેક ધાતુ ભાષાકીય સૂત્ર ચોક્કસ ભાષાની રચનાના નિયમોનું વર્ણન કરે છે અને તેમાં બે ભાગોનો સમાવેશ થાય છે. ડાબી બાજુએ અનુરૂપ બાંધકામ (નોન-ટર્મિનલ (NT) પ્રતીક) દર્શાવતું ધાતુ ભાષાકીય ચલ છે. આને કહેવાતા ધાતુભાષી સંયોજક દ્વારા અનુસરવામાં આવે છે:: =, ચિહ્નને બદલે દાખલ કરવામાં આવે છે  અને ક્રિયાપદનો અર્થ “to be” ધરાવે છે. તે સૂત્રની ડાબી અને જમણી બાજુઓને જોડે છે. ફોર્મ્યુલાની જમણી બાજુ ડાબી બાજુએ વ્યાખ્યાયિત માળખું બાંધવા માટે એક અથવા વધુ વિકલ્પો સૂચવે છે. દરેક વેરિઅન્ટ એ ધાતુ ભાષાકીય ચલો અને મૂળભૂત પ્રતીકો (ટર્મિનલ(T)) નો સમાવેશ કરતી સાંકળ છે. ફોર્મ્યુલા દ્વારા વ્યાખ્યાયિત બાંધકામ બનાવવા માટે, તમારે ફોર્મ્યુલાની જમણી બાજુમાંથી કેટલાક બાંધકામ વિકલ્પ પસંદ કરવાની જરૂર છે અને, દરેક ધાતુભાષી ચલને બદલે અનુરૂપ સૂત્રોનો ઉપયોગ કરીને, મૂળભૂત પ્રતીકોની કેટલીક સાંકળો. સૂત્રની જમણી બાજુના ચલોને ધાતુ ભાષાકીય જોડાણ | દ્વારા અલગ કરવામાં આવે છે, જેનો અર્થ થાય છે “અથવા”.

છેલ્લે, એ નોંધવું જોઈએ કે ધાતુ ભાષાકીય ચલોને કોણ કૌંસમાં બંધાયેલા શબ્દો અથવા કેટલાક નામો દ્વારા સૂચિત કરી શકાય છે. ધાતુ ભાષાકીય ચલનું નામ પ્રોગ્રામર દ્વારા અસાઇન કરવામાં આવે છે અને વર્ણવવામાં આવી રહેલી રચનાનો અર્થ સમજાવે છે, ઉદાહરણ તરીકે: અંકગણિત અભિવ્યક્તિ.

બેકસ-નૌઅર સ્વરૂપોમાં લખાયેલ ઔપચારિક વ્યાકરણનું ઉદાહરણ.

ચાલો પૂર્ણાંકોની રચનાના વ્યાકરણનું વર્ણન કરીએ. દરેક સંખ્યા સિંગલ-ડિજિટ હોઈ શકે છે, એટલે કે. એક અંકનો સમાવેશ થાય છે - 5, અથવા બહુ-અંક હોઈ શકે છે - 55, એટલે કે. એક કરતાં વધુ અંકોનો સમાવેશ થાય છે. બહુ-અંકની સંખ્યા બનાવવા માટે, બાંધકામને પોતાના પર લૂપ કરવું જરૂરી છે.

G1 નંબર લેખન વ્યાકરણમાં નીચેના 13 નિયમો છે:

(1) સંખ્યા::= hs

(2) chs::= chs digit

(3) chs::= digit

(4) digit::= 0

(5) digit::= 1

(6) અંક::= 2

(7) digit::= 3

(8) અંક::= 4

(9) અંક::= 5

(10) અંક::= 6

(11) અંક::= 7

(12) અંક::= 8

(13) અંક::= 9

G1 = ((0,1,2,3,4,5,6,7,8,9), (digit, number, hs), P, number )

જ્યાં પ્રથમ ઉલ્લેખિત સમૂહ- ટર્મિનલ પ્રતીકોના મૂળાક્ષરો;

બીજો ઉલ્લેખિત સમૂહ- બિન-ટર્મિનલ પ્રતીકોના મૂળાક્ષરો;

આર- ઉપર સૂચિબદ્ધ 13 નિયમો;

સંખ્યા- વ્યાકરણનું પ્રારંભિક પ્રતીક.

કારણ કે Backus-Nauer માં "અથવા" વિકલ્પ "|" ચિહ્ન સાથે લખાયેલ છે, તેથી વ્યાકરણ નીચે પ્રમાણે લખવું આવશ્યક છે:

સંખ્યા::= hs

hours::= hours digit | અંક

અંક::= 0|1|2|3|4|5|6|7|8|9

ચોમ્સ્કી વર્ગીકરણ

વ્યાકરણને તેમના નિયમોના પ્રકાર અનુસાર વર્ગીકૃત કરી શકાય છે.

વ્યાકરણના ચાર પ્રકાર છે:

    શબ્દસમૂહની રચના સાથેનું વ્યાકરણ (કુદરતી ભાષાઓ તેના પર બનેલી છે);

    સંદર્ભ-સંવેદનશીલ વ્યાકરણ (દરેક સંવેદનાત્મક સ્વરૂપનો દેખાવ તે સંદર્ભ પર આધાર રાખે છે જેમાં પ્રતીક સ્થિત છે, જે ચોક્કસ નિયમ અનુસાર પ્રતીકોની સાંકળ દ્વારા બદલવામાં આવે છે);

    સંદર્ભ-મુક્ત (CF) વ્યાકરણ, જ્યાં દરેક નિયમનું સ્વરૂપ છે:

   જ્યાં  વી , અને  એ V V મૂળાક્ષરોની સાંકળ છે ;

    ઓટોમેટન વ્યાકરણ, જ્યાં દરેક નિયમનું સ્વરૂપ હોય છે:

  x B અથવા

  x, જ્યાં

x  V, (, B)  V .

ભાષા L ને સ્વચાલિત, સંદર્ભ-મુક્ત, સંદર્ભ-સંવેદનશીલ અથવા શબ્દસમૂહ-સંરચિત કહેવામાં આવે છે જો ત્યાં યોગ્ય પ્રકારનું વ્યાખ્યાયિત વ્યાકરણ G હોય જેના માટે L = L(G).

ઔપચારિક વ્યાકરણઅથવા માત્ર વ્યાકરણઔપચારિક ભાષાઓના સિદ્ધાંતમાં - ઔપચારિક ભાષાનું વર્ણન કરવાની એક રીત, એટલે કે, ચોક્કસ મર્યાદિત મૂળાક્ષરોના તમામ શબ્દોના સમૂહમાંથી ચોક્કસ સબસેટને અલગ કરવું. ભેદ પાડવો પેદા કરી રહ્યું છેઅને ઓળખવું(અથવા વિશ્લેષણાત્મક) વ્યાકરણ - પ્રથમ નિયમો સેટ કરે છે જેની સાથે તમે ભાષાનો કોઈપણ શબ્દ બનાવી શકો છો, અને બીજો તમને આપેલ શબ્દ પરથી તે નક્કી કરવાની મંજૂરી આપે છે કે તે ભાષામાં શામેલ છે કે નહીં.

શરતો

  • ટર્મિનલ (ટર્મિનલ પ્રતીક)- એક ઑબ્જેક્ટ જે વ્યાકરણને અનુરૂપ ભાષાના શબ્દોમાં સીધો હાજર છે અને તેનો ચોક્કસ, બદલી ન શકાય એવો અર્થ છે ("અક્ષરો" ની વિભાવનાનું સામાન્યીકરણ). કમ્પ્યુટર પર વપરાતી ઔપચારિક ભાષાઓમાં, પ્રમાણભૂત ASCII અક્ષરોના તમામ અથવા ભાગ - લેટિન અક્ષરો, સંખ્યાઓ અને વિશિષ્ટ પ્રતીકો - સામાન્ય રીતે ટર્મિનલ તરીકે લેવામાં આવે છે. પ્રતીકો
  • બિન-ટર્મિનલ (બિન-ટર્મિનલ પ્રતીક)- એક પદાર્થ જે કંઈક માટે વપરાય છે સારભાષા (ઉદાહરણ તરીકે: સૂત્ર, અંકગણિત અભિવ્યક્તિ, આદેશ) અને તેનો ચોક્કસ સાંકેતિક અર્થ નથી.

જનરેટિવ વ્યાકરણ

વ્યાકરણ દ્વારા ઉલ્લેખિત ભાષાના શબ્દો અનુમાનના નિયમો અનુસાર પ્રારંભિક બિન-ટર્મિનલમાંથી ટર્મિનલ આઉટપુટ (જનરેટ) ના તમામ ક્રમ છે.

વ્યાકરણને વ્યાખ્યાયિત કરવા માટે, તમારે ટર્મિનલ્સ અને બિન-ટર્મિનલ્સના મૂળાક્ષરો, અનુમાન નિયમોનો સમૂહ, અને બિન-ટર્મિનલ્સના સમૂહમાં પ્રારંભિક એક પસંદ કરવાની જરૂર છે.

તેથી, વ્યાકરણને નીચેની લાક્ષણિકતાઓ દ્વારા વ્યાખ્યાયિત કરવામાં આવે છે:

નિષ્કર્ષ

આઉટપુટ એ ટર્મિનલ અને નોન-ટર્મિનલનો સમાવેશ કરતી લીટીઓનો ક્રમ છે, જ્યાં પ્રથમ લીટી એ એક લીટી છે જેમાં એક શરૂ થતા બિન-ટર્મિનલનો સમાવેશ થાય છે, અને દરેક અનુગામી લીટી એ ચોક્કસ સબસ્ટ્રિંગને એક (કોઈપણ ) નિયમોના. અંતિમ લીટી એ એક લીટી છે જેમાં સંપૂર્ણ રીતે ટર્મિનલ હોય છે, અને તેથી તે ભાષાનો શબ્દ છે.

ચોક્કસ શબ્દ માટે વ્યુત્પત્તિનું અસ્તિત્વ એ આપેલ વ્યાકરણ દ્વારા વ્યાખ્યાયિત ભાષા સાથે સંબંધિત હોવાનો માપદંડ છે.

વ્યાકરણના પ્રકારો

ટર્મિનલ મૂળાક્ષરો:

Σ (\Displaystyle \Sigma) = {"0","1","2","3","4","5","6","7","8","9","+","-","*","/","(",")"}

બિન-ટર્મિનલ મૂળાક્ષરો:

( ફોર્મ્યુલા, સાઇન, નંબર, ડીજીટ)

1. ફોર્મ્યુલા → (\displaystyle \to )ફોર્મ્યુલા સાઇન ફોર્મ્યુલા (સૂત્ર એ ચિહ્ન દ્વારા જોડાયેલા બે સૂત્રો છે) 2. ફોર્મ્યુલા → (\displaystyle \to ) NUMBER (સૂત્ર એ સંખ્યા છે) 3. ફોર્મ્યુલા → (\displaystyle \to )(ફોર્મ્યુલા) (સૂત્ર એ કૌંસમાં સૂત્ર છે) 4. સાઇન કરો → (\displaystyle \to )+ | - | * | / (ચિહ્ન વત્તા અથવા ઓછા, અથવા ગુણાકાર અથવા ભાગાકાર છે) 5. NUMBER → (\displaystyle \to ) DIGIT (સંખ્યા એ સંખ્યા છે) 6. NUMBER → (\displaystyle \to ) NUMBER DIGIT (એક સંખ્યા એ સંખ્યા અને એક આકૃતિ છે) 7. DIGIT → (\displaystyle \to ) 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 (સંખ્યા 0 અથવા 1 છે, અથવા... 9)

પ્રારંભિક બિન-ટર્મિનલ:

ફોર્મ્યુલા

નિષ્કર્ષ:

ચાલો સૂચિબદ્ધ વ્યુત્પત્તિ નિયમોનો ઉપયોગ કરીને સૂત્ર (12+5) મેળવીએ. સ્પષ્ટતા માટે, દરેક રિપ્લેસમેન્ટની બાજુઓ જોડીમાં બતાવવામાં આવી છે, દરેક જોડીમાં બદલાયેલ ભાગ રેખાંકિત છે.

ફોર્મ્યુલા → 3 (\displaystyle (\stackrel (3)(\to ))) (ફોર્મ્યુલા) (ફોર્મ્યુલા) → 1 (\displaystyle (\stackrel (1)(\to ))) (ફોર્મ્યુલા સાઇન ફોર્મ્યુલા) (ફોર્મ્યુલા સાઇન કરોફોર્મ્યુલા) → 4 (\displaystyle (\stackrel (4)(\to )))(ફોર્મ્યુલા + ફોર્મ્યુલા) (ફોર્મ્યુલા + ફોર્મ્યુલા) (ફોર્મ્યુલા + NUMBER) (ફોર્મ્યુલા + NUMBER) (ફોર્મ્યુલા + NUMBER) (ફોર્મ્યુલા + NUMBER) (ફોર્મ્યુલા + 5 ) (ફોર્મ્યુલા + 5) → 2 (\displaystyle (\stackrel (2)(\to ))) (NUMBER + 5) (NUMBER + 5) → 6 (\displaystyle (\stackrel (6)(\to ))) (NUMBER અંક + 5) (NUMBER DIGIT + 5) → 5 (\displaystyle (\stackrel (5)(\to ))) (NUMBER DIGIT + 5) ( NUMBER DIGIT + 5) → 7 (\displaystyle (\stackrel (7)(\to ))) (1 DIGIT + 5) (1 NUMBER + 5) → 7 (\displaystyle (\stackrel (7)(\to ))) (1 2 + 5)

ટીકા: આ વિભાગ શિસ્તની મૂળભૂત બાબતોની ચર્ચા કરે છે: “ઔપચારિક વ્યાકરણ”. આ શિસ્ત પ્રતીકો સાથેની કોઈપણ કામગીરીને ધ્યાનમાં લે છે, અને તેના નિષ્કર્ષોનો વ્યાપકપણે ઔપચારિક અને "માનવ" ભાષાઓના વિશ્લેષણમાં તેમજ કૃત્રિમ બુદ્ધિમાં ઉપયોગ થાય છે. આ વ્યાખ્યાન સૌથી મહત્વપૂર્ણ છે અને તે જ સમયે, કોર્સમાં સમજવા માટેનું સૌથી મુશ્કેલ લેક્ચર છે. આ સંદર્ભમાં, લેખક ગાણિતિક પુરાવાઓને છોડીને ફક્ત તેના નિષ્કર્ષ સાથે વાચકને રજૂ કરે છે. સામગ્રીને વધુ સારી રીતે સમજવા માટે, તમારે અગાઉના અને અનુગામી પ્રવચનોનો સંદર્ભ લેવાની જરૂર પડી શકે છે.

10.1. આલ્ફાબેટ

વ્યક્તિ મૂળાક્ષરો સાથે કોઈપણ ભાષા શીખવાનું શરૂ કરે છે. IN ઔપચારિક વ્યાકરણભાષા તેના અર્થને ધ્યાનમાં લીધા વિના વ્યાખ્યાયિત કરવામાં આવે છે. તદુપરાંત, એક જ ભાષા અનેક વ્યાકરણ દ્વારા રચી શકાય છે! તે શાળામાં જેવું છે - પરિણામ (જે પાઠ્યપુસ્તકના અંતે વાંચી શકાય છે) તેની રસીદ જેટલું મહત્વનું નથી - નોટબુકમાં નોંધાયેલી સમસ્યાનું સમાધાન. તેથી, ચાલો મૂળાક્ષરોની વ્યાખ્યાનો પણ ઔપચારિક રીતે સંપર્ક કરીએ.

વ્યાખ્યા. મૂળાક્ષર એ તત્વોનો બિન-ખાલી મર્યાદિત સમૂહ છે.

"શાસ્ત્રીય" ભાષામાં, મૂળાક્ષરો એ અક્ષરોનો સમૂહ છે. ધ્વન્યાત્મકતામાં, માણસો દ્વારા બનાવેલ વાણી અવાજોનો સમૂહ. સંગીતમાં, આ નોંધોનો સમૂહ છે, વગેરે.

મૂળાક્ષરોનો ઉપયોગ કરીને તેનું વર્ણન કરવું ઘણીવાર શક્ય બને છે અનંત સમૂહશબ્દો વ્યાકરણ (બીજા શબ્દોમાં, વ્યાકરણ દ્વારા જનરેટ) નો ઉપયોગ કરીને બનાવી શકાય તેવા તમામ શબ્દોના સમૂહને ભાષા કહેવામાં આવે છે. મૂળાક્ષરોથી વિપરીત, ભાષા અનંત હોઈ શકે છે.

કોઈપણ અંતિમ ક્રમ મૂળાક્ષરોશબ્દ કહેવાય છે, અથવા, વધુ વ્યાવસાયિક રીતે, સાંકળ. અક્ષરો ધરાવતી સાંકળો (a, b, c) નીચેના ક્રમ હશે: a, b, c, aa, ab, bc, ac, bb, abba અને અન્ય. ખાલી સાંકળ A ના અસ્તિત્વને પણ મંજૂરી છે - પ્રતીકોની સંપૂર્ણ ગેરહાજરી. સાંકળમાં પાત્રોનો ક્રમ પણ મહત્વપૂર્ણ છે. તેથી, સાંકળો ab અને ba અલગ અલગ સાંકળો છે. આગળ, અપરકેસ લેટિન અક્ષરોનો ઉપયોગ ચલ અને પ્રતીકો તરીકે કરવામાં આવશે અને લોઅરકેસ લેટિન અક્ષરો સાંકળો દર્શાવશે. ઉદાહરણ તરીકે:

X = SVT લિસ્ટિંગ 10.1.

S, V અને T અક્ષરો ધરાવતી સ્ટ્રિંગ અને તે ક્રમમાં.

વ્યાખ્યા. સાંકળની લંબાઈ એ આ સાંકળના અક્ષરોની સંખ્યા છે. તે |x| તરીકે સૂચવવામાં આવે છે . ઉદાહરણ તરીકે: |લ| = 0, |A| = 1, |BA| = 2, |ABBA| = 4.

જો x અને y શબ્દમાળાઓ છે, તો તેમનું જોડાણ શબ્દમાળા xy હશે. જોડાણ દરમિયાન સાંકળોને ફરીથી ગોઠવવાથી પરિણામમાં ફેરફાર થાય છે (જૂથ સિદ્ધાંતની જેમ). જો z = xy એ સાંકળ છે, તો x એ માથું છે અને y એ સાંકળની પૂંછડી છે. જો આપણે સાંકળના માથાની કાળજી લેતા નથી, તો અમે સૂચવીશું:

Z = … x સૂચિ 10.2.

અને જો આપણે પૂંછડી વિશે ધ્યાન આપતા નથી, તો અમે લખીશું:

Z = x ...સૂચિ 10.3.

વ્યાખ્યા. સાંકળોના બે સેટના ઉત્પાદનને આ સમૂહોમાં સમાવિષ્ટ તમામ સાંકળોના જોડાણ તરીકે વ્યાખ્યાયિત કરવામાં આવે છે. ઉદાહરણ તરીકે, જો A = (a, b), અને B = (c,d) સેટ કરો, તો:

AB = (ac, ad, bc, bd) લિસ્ટિંગ 10.4.

સમૂહોના ઉત્પાદનમાં, જોડાણની જેમ, પરિબળોનો ક્રમ મહત્વપૂર્ણ છે.

સાંકળોને જોડતી વખતે અને સાંકળોના સેટનો ગુણાકાર કરતી વખતે, સહયોગી કાયદો સાચો રહે છે, આ રીતે લખાયેલ છે:

Z = (ab)c = a(bc) = abc સૂચિ 10.5.

D = (AB)C = A(BC) = ABC લિસ્ટિંગ 10.6.

અને અંતે, અમે સાંકળની ડિગ્રી નક્કી કરીએ છીએ. જો x એ બિન-ખાલી સાંકળ છે, તો પછી x 0 = (L), x 1 = x, x 2 = xx, x n = x(x) (n-1). સેટની ડિગ્રી સાથે પણ આવું જ છે.

10.2. ટર્મિનલ અને નોન-ટર્મિનલ પ્રતીકો

ટર્મિનલનો ખ્યાલ અને બિન-ટર્મિનલ પ્રતીકોઅવેજી (અથવા ઉત્પાદન) નિયમની વિભાવના સાથે ગાઢ રીતે સંબંધિત છે. ચાલો તેને વ્યાખ્યાયિત કરીએ.

વ્યાખ્યા. ઉત્પાદન, અથવા અવેજી નિયમ, એક ઓર્ડર કરેલ જોડી (U, x), આ રીતે લખાયેલ છે:

U::= x લિસ્ટિંગ 10.7.

જ્યાં U એ પ્રતીક છે અને x એ બિન-ખાલી સીમિત છે અક્ષર શબ્દમાળા.

ફક્ત જમણી બાજુએ દેખાતા અક્ષરો કહેવામાં આવે છે ટર્મિનલ અક્ષરો. નિયમોની ડાબી અને જમણી બાજુએ જોવા મળતા પ્રતીકોને બિન-ટર્મિનલ પ્રતીકો અથવા ભાષાના સિન્ટેક્ટિક એકમો કહેવામાં આવે છે. ઘણા બિન-ટર્મિનલ પ્રતીકો VN તરીકે સૂચિત, અને ટર્મિનલ અક્ષરો- વીટી.

નોંધ. ટર્મિનલની આ વ્યાખ્યા અને બિન-ટર્મિનલ પ્રતીકો KS-વ્યાકરણ અને A-વ્યાકરણ માટે સાચું (વિભાગ 10.4.3 જુઓ).

વ્યાખ્યા. વ્યાકરણ G[Z] એ મર્યાદિત, બિન-ખાલી નિયમોનો સમૂહ છે બિન-ટર્મિનલ પ્રતીકઓછામાં ઓછા એક વખત નિયમોના સેટ પર Z. Z અક્ષરને પ્રારંભ અક્ષર કહેવામાં આવે છે. આગળ આપણે બધા બિન-ટર્મિનલ પ્રતીકોઅમે તેને તરીકે દર્શાવીશું<символ>.

[ઉદાહરણ 01]

વ્યાકરણ: ​​"સંખ્યા"

<число> ::= <чс> <чс> ::= <цифра> <чс> ::= <чс><цифра> <цифра> ::= 0 <цифра> ::= 1 <цифра> ::= 2 <цифра> ::= 3 <цифра> ::= 4 <цифра> ::= 5 <цифра> ::= 6 <цифра> ::= 7 <цифра> ::= 8 <цифра> ::= 9

ચાલો બીજી વ્યાખ્યા આપીએ:

વ્યાખ્યા. સાંકળ v સીધી સાંકળ બનાવે છે જો:

V=x y અને w = xuy લિસ્ટિંગ 10.8.

જ્યાં ::= u એ વ્યાકરણનો નિયમ છે. આ v => w તરીકે સૂચવવામાં આવે છે. અમે એમ પણ કહીએ છીએ કે w એ v માંથી સીધું કપાતપાત્ર છે. આ કિસ્સામાં, સાંકળો x અને y ખાલી હોઈ શકે છે.

વ્યાખ્યા. અમે કહીએ છીએ કે v w જનરેટ કરે છે, અથવા w ઘટાડીને v કરવામાં આવે છે, જો ત્યાં u0, u1, …, u[n] (n > 0) આઉટપુટની મર્યાદિત સાંકળ હોય તો

V = u0 => u1 => u2 => ... => u[n] = w સૂચિ 10.9.

આ ક્રમને લંબાઈ n નો પિન કહેવામાં આવે છે, અને તેને v =>+ w દ્વારા સૂચિત કરવામાં આવે છે. અને અંતે તેઓ લખે છે:

V =>* w જો v => w અથવા v =>+ w સૂચિ 10.10.

10.3. શબ્દસમૂહો

વ્યાખ્યા. G[Z] ને વ્યાકરણ, x a શબ્દમાળા બનવા દો. પછી x એ વાક્ય સ્વરૂપ કહેવાય છે જો =>* x. વાક્ય એ એક સંવેદનાત્મક સ્વરૂપ છે જેમાં ફક્ત સમાવેશ થાય છે ટર્મિનલ અક્ષરો. ભાષા એ બધી ટર્મિનલ સાંકળોના સેટનો સબસેટ છે.

વ્યાખ્યા. G[Z] ને વ્યાકરણ બનવા દો. અને w = xuy ને વાક્યરૂપ રૂપ થવા દો. પછી u માટે વાક્ય સ્વરૂપ w નો વાક્ય કહેવાય છે બિન-ટર્મિનલ પ્રતીક , જો:

Z =>* x y અને =>+ u લિસ્ટિંગ 10.11.

Z =>* x y અને => u લિસ્ટિંગ 10.12.

પછી શબ્દમાળા u એક સરળ શબ્દસમૂહ કહેવાય છે.

તમારે "શબ્દ" શબ્દ સાથે સાવચેત રહેવું જોઈએ. હકીકત એ છે કે =>+ u (ચેન u જેમાંથી કપાતપાત્ર છે ) નો અર્થ એ નથી કે u એ વાક્ય સ્વરૂપ xનું વાક્ય છે y; પણ જરૂરી છેસાંકળની કપાતપાત્રતા x

વ્યાકરણ Z ના પ્રારંભિક પ્રતીકમાંથી y.<чс>શબ્દસમૂહને સમજાવવા માટે, [ઉદાહરણ 01] વાક્ય સ્વરૂપને ધ્યાનમાં લો<чс>1. શું આનો અર્થ એ છે કે પ્રતીક<число> ::= <чс>જો કોઈ નિયમ હોય તો તે શબ્દસમૂહ છે:<число><1>? અલબત્ત નહીં, કારણ કે સાંકળ બાંધવી શક્ય નથી:<число>- પ્રારંભિક પાત્રમાંથી:<чс>. સંવેદનાત્મક સ્વરૂપના વાક્યો શું છે?

<число> => <чс> => <чс><цифра> => <чс><1>1? આઉટપુટ ધ્યાનમાં લો:

લિસ્ટિંગ 10.13.

<число> =>* <чс>અને<чс> =>+ <чс>આમ,

1 લિસ્ટિંગ 10.14.

ઔપચારિક પ્રણાલીઓમાંની એક અવેજી પ્રણાલી અથવા થુ સેમી-સિસ્ટમ છે (નોર્વેજીયન ગણિતશાસ્ત્રી એક્સેલ થ્યુના નામ પરથી નામ આપવામાં આવ્યું છે), જે મૂળાક્ષરો A અને ફોર્મના અવેજીના મર્યાદિત સમૂહ દ્વારા વ્યાખ્યાયિત થયેલ છે:

જ્યાં α i, β i એ શબ્દો છે, સંભવતઃ A માં ખાલી છે, Þ એ વાઇલ્ડકાર્ડ પ્રતીક છે, જે અગાઉ આપણા દ્વારા “સૂચિત”, “ઉત્પન્ન” તરીકે સમજાયું હતું.

થ્યુ સિસ્ટમ ફોર્મના સંબંધોનો ઉપયોગ કરે છે:

અવેજીનાં જોડી તરીકે સમજાય છે:

α i Þ β i (ડાબે);

β i Üα i (જમણે).

થુ સેમી-સિસ્ટમમાં, અવેજી α i Þβ i ને અનુમાન નિયમ R i તરીકે અર્થઘટન કરવામાં આવે છે. આ અર્ધ-પ્રણાલીઓનો ઉપયોગ કરીને, અમેરિકન ગણિતશાસ્ત્રી એન. ચોમ્સ્કીએ 50 ના દાયકામાં કહેવાતા ઔપચારિક વ્યાકરણના સિદ્ધાંતની રચના અને વિકાસ કર્યો, જે તેમનો વિશેષ કેસ છે.

V એ પ્રતીકોનો ખાલી ન હોવાનો સમૂહ છે - એક મૂળાક્ષર (અથવા શબ્દકોશ) અને આમ, મૂળાક્ષર V માં તમામ મર્યાદિત શબ્દોનો સમૂહ V * આપેલ છે. V મૂળાક્ષરોમાં ઔપચારિક ભાષા L એ V * નો મનસ્વી સબસેટ છે. . તેથી, જો V માં રશિયન ભાષાના અક્ષરો, વિરામચિહ્નો, અવકાશ અક્ષરો, વગેરેનો સમાવેશ થાય છે, તો પછી V * એ એક અનુમાનિત સમૂહ છે જેમાં મહાન રશિયન સાહિત્ય (લેખિત અને ભાવિ) ની તમામ કૃતિઓ શામેલ છે.

શબ્દો, ગાણિતિક ચિહ્નો, ભૌમિતિક છબીઓ વગેરેનો પણ પ્રતીક તરીકે ઉપયોગ કરી શકાય છે. ભાષાઓ નિર્દિષ્ટ અથવા નિર્ધારિત છે- નિયમોની એક સિસ્ટમ જે આપેલ ભાષાની બધી સાંકળો બનાવે છે, અને ફક્ત તે જ.

ઔપચારિક વ્યાકરણ - ઔપચારિક પદ્ધતિ, કલન.

ઔપચારિક વ્યાકરણોને ઓળખવા, ઉત્પન્ન કરવા અને રૂપાંતરિત કરવા છે.

ઓળખવું, જો આપેલ કોઈપણ શબ્દમાળા માટે તે નક્કી કરે છે કે આપેલ વ્યાકરણના અર્થમાં તે શબ્દમાળા સાચી છે કે કેમ.

ઔપચારિક વ્યાકરણ કહેવાય છે જનરેટિવ, જો તે કોઈ યોગ્ય સાંકળ બનાવી શકે.

ઔપચારિક વ્યાકરણ કહેવાય છે પરિવર્તનકારીજો કોઈ યોગ્ય રીતે બાંધવામાં આવેલી સાંકળ માટે તે તેના મેપિંગને યોગ્ય સાંકળના રૂપમાં બનાવે છે.

જનરેટિવ ઔપચારિક વ્યાકરણના વર્ગને ધ્યાનમાં લો.

G નું જનરેટિવ ઔપચારિક વ્યાકરણ ચાર ગણું છે

જી= ,

જ્યાં T એ મર્યાદિત ટર્મિનલ (મુખ્ય) પ્રતીકોનો મર્યાદિત બિન-ખાલી સમૂહ છે;

N – બિન-ટર્મિનલ (સહાયક) પ્રતીકોનો મર્યાદિત બિન-ખાલી સમૂહ;

P એ અનુમાન નિયમો (ઉત્પાદનો) નો મર્યાદિત બિન-ખાલી સમૂહ છે;

S એ પ્રારંભિક અક્ષર છે.

ટી - ટર્મિનલ શબ્દકોશ - પ્રારંભિક પ્રતીકોનો સમૂહ જેમાંથી વ્યાકરણ દ્વારા જનરેટ કરાયેલ સાંકળો બનાવવામાં આવે છે;

N – નોન-ટર્મિનલ ડિક્શનરી – સ્ત્રોત પ્રતીકોના વર્ગો દર્શાવતા સહાયક પ્રતીકોનો સમૂહ.

મર્યાદિત સમૂહ એ વ્યાકરણ જીનો સંપૂર્ણ શબ્દકોશ છે.

અનુમાન નિયમ એ φÞψ સ્વરૂપના દ્વિસંગી સંબંધોનો મર્યાદિત બિન-ખાલી સમૂહ છે, જ્યાં φ અને ψ એ શબ્દકોશ V માં સાંકળો છે, Þ પ્રતીક "ની સાથે બદલો" છે.

સાંકળ β એ વ્યાકરણ G (નોટેશન αβ; સબસ્ક્રિપ્ટ G જો તે સ્પષ્ટ હોય તો આપણે કયા વ્યાકરણ વિશે વાત કરી રહ્યા છીએ) માં સાંકળ α માંથી સીધી રીતે કપાતપાત્ર છે જો α=α 1 φα 2 , β=α 1 ψα 2 , (φÞψ) ).

જો ત્યાં E 0 =α, E 1 ,E 2 ,…,E n =β, જેમ કે "i =0,1,...,n-1 E i => ક્રમ હોય, તો સાંકળ β એ αમાંથી કપાતપાત્ર છે. ઇ હું +1.

આ ક્રમને α માંથી આઉટપુટ β કહેવામાં આવે છે, અને n એ આઉટપુટની લંબાઈ છે.

α માંથી β ની કપાતપાત્રતા α=> n β (જો તમારે વ્યુત્પત્તિની લંબાઈનો ઉલ્લેખ કરવાની જરૂર હોય તો) દ્વારા સૂચવવામાં આવે છે.

વ્યાકરણ G દ્વારા જનરેટ થયેલ ભાષા L(G) એ S માંથી લેવામાં આવેલ ટર્મિનલ શબ્દકોશ T માં શબ્દમાળાઓનો સમૂહ છે, જ્યાં S એ ભાષાકીય વસ્તુઓના વર્ગને દર્શાવતું પ્રારંભિક પ્રતીક છે જેના માટે આ વ્યાકરણનો હેતુ છે. પ્રારંભિક પ્રતીકને વ્યાકરણનું લક્ષ્ય અથવા તેના સ્વયંસિદ્ધ કહેવામાં આવે છે.

વ્યાકરણ G અને G 1 સમકક્ષ છે જો L(G)=L(G 1).

ઔપચારિક વ્યાકરણના સિદ્ધાંતની દ્રષ્ટિએ કુદરતી ભાષાનું વર્ણન કરતી વખતે, ટર્મિનલ પ્રતીકોને શબ્દો અથવા મોર્ફિમ્સ તરીકે અર્થઘટન કરવામાં આવે છે - ભાષાના સૌથી નાના અર્થપૂર્ણ એકમો (મૂળ, પ્રત્યય, વગેરે), બિન-ટર્મિનલ પ્રતીકો - શબ્દોના વર્ગોના નામ તરીકે અને શબ્દસમૂહો (વિષય, અનુમાન, અનુમાન જૂથ, વગેરે. પી.). અક્ષરોની સ્ટ્રિંગને સામાન્ય રીતે કુદરતી ભાષાના વાક્ય તરીકે અર્થઘટન કરવામાં આવે છે.

ઉદાહરણ 1. વ્યાકરણ નીચે મુજબ આપવા દો:

T-(a,b), N-(S,A,B), S-S,

P=(1. SÞaB; 2.SÞbA; 3. AÞaS; 4. AÞbAA; 5. AÞa; 6.BÞbS; 7. BÞaBB; 8. BÞb).

દરખાસ્તોના લાક્ષણિક તારણો:

વપરાયેલ અનુમાન નિયમની સંખ્યા તીરની ઉપરના કૌંસમાં દર્શાવેલ છે. આઉટપુટ સમાપ્ત થાય છે કારણ કે ab ની બરાબર ડાબી બાજુ સાથે P નો કોઈ નિયમ નથી.

આવા જનરેટિવ વ્યાકરણનો ગ્રાફ ફિગમાં બતાવવામાં આવ્યો છે. 125.

ચોખા. 125. જનરેટિવ વ્યાકરણ ગ્રાફ

અહીં a અને b અંતિમ શિરોબિંદુઓ (ટર્મિનલ) છે.

ઉદાહરણ 2. વ્યાકરણ નીચે પ્રમાણે આપવા દો:

T=(<студент>, <прилежный>, <ленивый>, <выполняет>, <не выполняет>, <домашнее задание>};

N=(<сказуемое>, <подлежащее>, <определение>, <дополнение>, <группа подлежащего>, <группа сказуемого>, <предложение>};

તમે સાંકળ આઉટપુટ કરી શકો છો<прилежный> <студент> <выполняет> <домашнее задание>.

દેખીતી રીતે, અનુમાનની છેલ્લી સાંકળ અંતિમ છે અને તે કુદરતી ભાષાના વાક્યનું પ્રતિનિધિત્વ કરે છે. એ જ રીતે, તમે સાંકળ મેળવી શકો છો<ленивый> <студент> <не выполняет> <домашнее задание>. નોંધ કરો કે આ ઉદાહરણમાં બિન-ટર્મિનલ પ્રતીકો સિન્ટેક્ટિક શ્રેણીઓ છે.

આઉટપુટને ફિગમાં બતાવેલ કહેવાતા સ્ટ્રક્ચર ટ્રી દ્વારા પણ વર્ણવી શકાય છે. 126.

ચોખા. 126. વાક્ય આઉટપુટનું માળખાકીય વૃક્ષ

વ્યાકરણને કહેવાતા વિર્થ સિન્ટેક્ટિક આકૃતિઓ દ્વારા પણ સ્પષ્ટ કરી શકાય છે - જેમ કે પાસ્કલ ભાષામાં, જે સ્વિચિંગ સર્કિટ જેવું લાગે છે જેમાં સીરીયલ કનેક્શન સાંકળ સૂચવે છે, અને સમાંતર જોડાણ સાંકળોના પ્રકારો સૂચવે છે - પ્રતીકને બદલે.

તેથી, ઔપચારિક વ્યાકરણ ઓળખી શકે છે, પેદા કરી શકે છે, પરિવર્તન કરી શકે છે. વધુમાં, ઔપચારિક વ્યાકરણના સિદ્ધાંતમાં, ચાર પ્રકારના વ્યાકરણ દ્વારા ચાર પ્રકારની ભાષાઓ ઉત્પન્ન થાય છે. નિયમો R ની સિસ્ટમ પર ક્રમિક રીતે વધતા નિયંત્રણો મૂકીને વ્યાકરણને અલગ પાડવામાં આવે છે.

વ્યાકરણનું સામાન્ય રીતે સ્વીકૃત વર્ગીકરણ અને તેઓ જે ભાષાઓ બનાવે છે તે ચોમ્સ્કી વંશવેલો છે, જેમાં ચાર પ્રકારના વ્યાકરણનો સમાવેશ થાય છે.

0 વ્યાકરણ લખોએક વ્યાકરણ છે જેમાં અનુમાન jÞy ના નિયમો પર કોઈ નિયંત્રણો લાદવામાં આવતા નથી, જ્યાં j અને y એ V માંથી કોઈપણ શબ્દમાળા હોઈ શકે છે. આવા વ્યાકરણને ટ્યુરિંગ મશીન દ્વારા અમલમાં મૂકી શકાય છે. આ કિસ્સામાં, ટ્યુરિંગ મશીનની સ્થિતિ બિન-ટર્મિનલ (સહાયક) પ્રતીકોને અનુરૂપ છે, અને ટેપ પરના પ્રતીકો ટર્મિનલ રાશિઓને અનુરૂપ છે. સાંકળો પેદા કરવાના નિયમો આદેશોની સિસ્ટમ દ્વારા વર્ણવવામાં આવે છે.

વ્યાકરણ લખો 1 એ વ્યાકરણ છે, જેના તમામ નિયમોમાં aАbÞawb સ્વરૂપ છે, જ્યાં wÎТUN, A એ બિન-ટર્મિનલ પ્રતીક છે. સાંકળો a અને b એ નિયમોનો સંદર્ભ છે. જ્યારે તેનો ઉપયોગ કરવામાં આવે ત્યારે તેઓ બદલાતા નથી. આમ, પ્રકાર 1 વ્યાકરણમાં, એક જ ટર્મિનલ પ્રતીક A એ ખાલી ન હોય તેવા શબ્દમાળામાં જાય છે (A ને w દ્વારા બદલી શકાય છે) માત્ર a અને b ના સંદર્ભમાં. પ્રકાર 1 વ્યાકરણને સંદર્ભ-સંવેદનશીલ અથવા સંદર્ભ-સંવેદનશીલ કહેવામાં આવે છે.

પ્રકાર 2 વ્યાકરણએ એક વ્યાકરણ છે જેમાં માત્ર AÞa સ્વરૂપના નિયમોની મંજૂરી છે, જ્યાં aÎТUN, એટલે કે. a એ V ની બિન-ખાલી સાંકળ છે. પ્રકાર 2 વ્યાકરણને સંદર્ભ-મુક્ત અથવા સંદર્ભ-મુક્ત કહેવામાં આવે છે. આધુનિક અલ્ગોરિધમિક ભાષાઓ સંદર્ભ-મુક્ત વ્યાકરણનો ઉપયોગ કરીને વર્ણવવામાં આવે છે.

વ્યાકરણ લખો 3 – ફોર્મ АÞaB, અથવા AÞb ના નિયમો ધરાવે છે, જ્યાં А,ВОN; a,bÎT.

અહીં A,B,a,b અનુરૂપ શબ્દકોશોના એકલ અક્ષરો (ચેન નથી) છે. આ પ્રકારની વ્યાકરણ દ્વારા વ્યાખ્યાયિત થયેલ ભાષાઓ કહેવામાં આવે છે આપોઆપ અથવા નિયમિત.

આ કિસ્સામાં, ફોર્મની નિયમિત અભિવ્યક્તિ ભાષા (નિયમિત ભાષા) નો ઉપયોગ થાય છે:

આવી ભાષા મર્યાદિત ઓટોમેટન (ક્લીનનું પ્રમેય) દ્વારા આપવામાં આવે છે. મોટાભાગની અલ્ગોરિધમિક ભાષાઓમાં, અભિવ્યક્તિઓ મર્યાદિત રાજ્ય મશીનો અથવા નિયમિત અભિવ્યક્તિઓનો ઉપયોગ કરીને નિર્દિષ્ટ કરવામાં આવે છે.

ચાલો મર્યાદિત મશીન દ્વારા નિયમિત ભાષાને સ્પષ્ટ કરવાના ઉદાહરણને ધ્યાનમાં લઈએ:

X=(0,1) - ઇનપુટ પ્રતીકોનો સમૂહ;

Y=(S,A,B,q k) – આંતરિક અવસ્થાઓનો સમૂહ, q k – અંતિમ સ્થિતિ, S – પ્રારંભિક સ્થિતિ.

કેટલીકવાર કેટલીક અંતિમ અવસ્થાઓ ગણવામાં આવે છે અને તેને સમૂહ F માં જોડવામાં આવે છે. આ કિસ્સામાં, F = (q k ).

j: સંક્રમણ કાર્ય - બિન-નિર્ધારિત:

મર્યાદિત બિનનિર્ધારિત ઓટોમેટનનો સંક્રમણ ગ્રાફ ફિગમાં બતાવવામાં આવ્યો છે. 127.

ચોખા. 127. મર્યાદિત બિન-નિર્ધારિત ઓટોમેટનનો સંક્રમણ ગ્રાફ

અનુરૂપ જનરેટિવ વ્યાકરણ છે:

અનુરૂપ નિયમિત ભાષા L= :

0, 010, 01010,...

ઔપચારિક વ્યાકરણના સિદ્ધાંતનો ઉપયોગ કમ્પાઇલરના નિર્માણમાં થાય છે. કમ્પાઇલર સ્ત્રોત પ્રોગ્રામનું વિશ્લેષણ કરે છે. તે જ સમયે, તે નિર્ધારિત કરવામાં આવે છે કે શું અક્ષરોની આપેલ સાંકળ યોગ્ય રીતે બાંધવામાં આવેલ વાક્ય છે, અને, જો એમ હોય, તો તેનું સ્વરૂપ પુનઃસ્થાપિત કરવામાં આવે છે. પાર્સિંગ અથવા સિન્ટેક્ટિક વિશ્લેષણ એક વિશિષ્ટ પ્રોગ્રામ દ્વારા કરવામાં આવે છે - એક પાર્સર (પાર્સ કરવા માટે - પાર્સ). આ સમસ્યાને ઉકેલવા માટે, ખાસ પ્રોગ્રામ્સ વિકસાવવામાં આવ્યા છે, ઉદાહરણ તરીકે, LEX અને YACC.

UNIX ઓપરેટિંગ સિસ્ટમમાં પ્રમાણભૂત પ્રોગ્રામ્સ LEX અને GREP છે - તે નિયમિત ભાષા સિદ્ધાંતના આધારે બનાવવામાં આવ્યા છે.

LEX પ્રોગ્રામ ટેક્સ્ટનું લેક્સિકલ વિશ્લેષણ કરે છે - નિયમિત અભિવ્યક્તિઓના ચોક્કસ સમૂહ અનુસાર ટેક્સ્ટને તોડીને.

GREP પ્રોગ્રામ - નિયમિત અભિવ્યક્તિનો ઉપયોગ કરીને પેટર્ન પસંદ કરે છે - એટલે કે. મર્યાદિત રાજ્ય મશીન કે જેમાં ઇનપુટ પ્રતીક પ્રવાહમાંથી પ્રતીકો ફીડ કરવામાં આવે છે ત્યારે એક અથવા વધુ ફાઇલોમાં સંદર્ભ શોધ કરે છે.

એક ભાષામાંથી બીજી ભાષામાં સ્વચાલિત અનુવાદ પ્રણાલીમાં, વિષય, અનુમાન, વ્યાખ્યા અને પૂરક ઓળખવામાં આવે છે; પછી જરૂરી ભાષાના નિયમો અનુસાર અનુરૂપ દરખાસ્ત તૈયાર કરવામાં આવે છે.

હાલમાં, કમ્પ્યુટર્સ પ્રોમટ, મેજિક ગુડી, સોક્રેટ પર્સનલ જેવા અનુવાદકોનો ઉપયોગ કરે છે. આ ઉપરાંત, સરળ શબ્દકોશોનો ઉપયોગ કરવામાં આવે છે, જેમ કે .સંદર્ભ, સોક્રેટ ડિક્શનરી, મલ્ટિલેક્સ.

ઔપચારિક વ્યાકરણનો ઉપયોગ કરીને ભાષાકીય જ્ઞાનનું પ્રતિનિધિત્વ એ સામાન્ય રીતે જ્ઞાનની રજૂઆતના નમૂનાઓમાંનું એક છે, જેનો ઉપયોગ કૃત્રિમ બુદ્ધિના તત્વો સાથેની સિસ્ટમ્સ જેવા ક્ષેત્રમાં થાય છે. એ નોંધવું જોઈએ કે જ્ઞાન ડેટાથી અલગ છે, ઉદાહરણ તરીકે, તેમાં ડેટાનો અર્થપૂર્ણ અર્થઘટન માત્ર સંબંધિત કમ્પ્યુટર પ્રોગ્રામ દ્વારા કરવામાં આવે છે, અને જ્ઞાનમાં અર્થપૂર્ણ અર્થઘટનની શક્યતા હંમેશા હાજર હોય છે. સિસ્ટમોના સોફ્ટવેર અને હાર્ડવેર ભાગ કે જે વપરાશકર્તાને કુદરતી અથવા કુદરતી ભાષાની નજીકમાં ઇન્ટરફેસ પ્રદાન કરે છે તે અમલમાં મૂકવામાં આવે છે. ભાષાકીય પ્રોસેસર, જેનું કાર્ય આંતરિક પ્રતિનિધિત્વની ઔપચારિક ભાષામાં કુદરતી ભાષાના પાઠોનું સીધું અને વિપરીત અનુવાદ છે જેની સાથે કમ્પ્યુટર કામ કરે છે.

જાપાનમાં, કેટલીક કંપનીઓએ પહેલેથી જ ઘરના "વાતચીત" રોબોટ્સ વેચવાનું શરૂ કરી દીધું છે જે માલિક સાથે વાતચીત કરી શકે છે.

ભાષાકીય પ્રોસેસરમાં ઘોષણાત્મક અને પ્રક્રિયાત્મક ભાગો હોય છે. પ્રથમમાં શબ્દકોશોનું વર્ણન છે, બીજું - કુદરતી ભાષાના પાઠોના વિશ્લેષણ અને સંશ્લેષણ માટેનું અલ્ગોરિધમ.

જ્ઞાનની રજૂઆત માટેના તાર્કિક મોડેલો અમને પહેલાથી જ પ્રપોઝિશન અને પ્રિડિકેટ્સની ગણતરી માટે જાણીતા છે.

ચોક્કસ વિષય વિસ્તાર વિશે સિમેન્ટીક (કાલ્પનિક) જ્ઞાનને ઔપચારિક બનાવવાનો આધાર કહેવાતા સિમેન્ટીક નેટવર્ક્સ છે. સિમેન્ટીક નેટવર્ક એ નિર્દેશિત આલેખ છે, જેનાં શિરોબિંદુઓ ચોક્કસ પદાર્થો સાથે સંકળાયેલા છે, અને ચાપ તેમની વચ્ચેના સિમેન્ટીક સંબંધો સાથે સંકળાયેલા છે. શિરોબિંદુ લેબલ્સ પ્રકૃતિમાં સંદર્ભિત છે અને ચોક્કસ નામોનું પ્રતિનિધિત્વ કરે છે. નામોની ભૂમિકા, ઉદાહરણ તરીકે, કુદરતી ભાષાના શબ્દો હોઈ શકે છે. આર્ક લેબલ સંબંધોના સમૂહના ઘટકો દર્શાવે છે. વધુમાં, જ્ઞાનનું પ્રતિનિધિત્વ કરવા માટે ફ્રેમ્સનો ઉપયોગ કરવામાં આવે છે, જે મોટાભાગે સ્ટીરિયોટાઇપિકલ પરિસ્થિતિઓને રજૂ કરવા માટે ડેટા સ્ટ્રક્ચર તરીકે વ્યાખ્યાયિત કરવામાં આવે છે.

ગોડેલના પ્રમેય

ગાણિતિક તર્કશાસ્ત્રમાં તે સાબિત થાય છે કે પ્રિડિકેટ કેલ્ક્યુલસ સુસંગત છે - એટલે કે. એકસાથે પ્રદર્શિત કરવું અશક્ય છે , અને . વધુમાં, પ્રિડિકેટ કેલ્ક્યુલસની સંપૂર્ણતા પર ગોડેલના પ્રમેયના આધારે, સામાન્ય રીતે માન્ય સૂત્ર પ્રિડિકેટ કેલ્ક્યુલસમાં કપાતપાત્ર છે.

માનવામાં આવતી પ્રિડિકેટ કેલ્ક્યુલસ એ પ્રથમ ક્રમની પ્રિડિકેટ કેલ્ક્યુલસ છે. સેકન્ડ-ઓર્ડર કેલ્ક્યુલસમાં, આગાહી દ્વારા ક્વોન્ટિફાયર શક્ય છે, એટલે કે. "P(P(x)) સ્વરૂપના અભિવ્યક્તિઓ, અથવા કાર્યો દ્વારા.

તેથી, પ્રસ્તાવિત તર્કશાસ્ત્રના તમામ સાચા નિવેદનોનો સમૂહ ગણી શકાય તેવું અને નિર્ણાયક છે. અનુમાનિત તર્કશાસ્ત્રના તમામ સાચા નિવેદનોનો સમૂહ ગણી શકાય તેવું છે (તેની સંપૂર્ણતાને કારણે), પરંતુ અનિર્ણાયક છે (વિષય ક્ષેત્રની અનંતતાને કારણે).

ગાણિતિક તર્કશાસ્ત્રમાં અન્ય ઔપચારિક સિદ્ધાંત તરીકે, ઇટાલિયન ગણિતશાસ્ત્રી જિયુસેપ પીઆનો (1858-1932) દ્વારા પ્રસ્તાવિત કહેવાતા ઔપચારિક અંકગણિત ગણવામાં આવે છે. પીઆનોએ ચિહ્નો અને કામગીરી Î, U, I રજૂ કરી અને તર્કશાસ્ત્રને ગાણિતિક શિસ્ત તરીકે રજૂ કરનાર પ્રથમ વ્યક્તિ હતા. ગણિતને તર્કમાં ઘટાડવાનો પ્રથમ પ્રયાસ જર્મન ગણિતશાસ્ત્રી અને તર્કશાસ્ત્રી ગોટલીબ ફ્રેગે (1848-1925) દ્વારા કરવામાં આવ્યો હતો. તેમણે જ સેટને કન્સેપ્ટના વોલ્યુમ તરીકે વ્યાખ્યાયિત કર્યું હતું. તેમણે લખ્યું: "અંકગણિત એ તર્કશાસ્ત્રનો એક ભાગ છે અને તે સાબિતીના કોઈપણ પાયાના અનુભવ અથવા ચિંતનમાંથી ઉધાર લેવો જોઈએ નહીં." બર્ટ્રાન્ડ રસેલ દ્વારા ઓળખવામાં આવેલ ફ્રેગની સિસ્ટમમાં તમામ સમૂહોના સમૂહ વિશેનો પ્રખ્યાત વિરોધાભાસ છે.

ગોડેલે સાબિત કર્યું કે ઔપચારિક અંકગણિત ધરાવતો કોઈપણ ઔપચારિક સિદ્ધાંત T અપૂર્ણ છે: તેમાં બંધ સૂત્ર F છે જે સાચું છે, પરંતુ ન તો F અને ન તો T માં વ્યુત્પન્ન છે. ગોડેલના પ્રખ્યાત અપૂર્ણતા પ્રમેય અનુસાર, ઔપચારિક અંકગણિત ધરાવતા કોઈપણ સુસંગત ઔપચારિક સિદ્ધાંત T માટે, T ની સુસંગતતા દર્શાવતું સૂત્ર T માં અયોગ્ય છે.

આમ, અંકગણિત અને સંખ્યા સિદ્ધાંત બિન-એક્સિમિઝેબલ સિદ્ધાંતો છે, અને અંકગણિતના તમામ સાચા નિવેદનોનો સમૂહ અગણિત છે.

ગોડેલના પ્રમેયનું પદ્ધતિસરનું મહત્વ છે. તે તારણ આપે છે કે પૂરતા પ્રમાણમાં સમૃદ્ધ ગાણિતિક સિદ્ધાંતો માટે ત્યાં કોઈ પર્યાપ્ત ઔપચારિકતા નથી. સાચું છે, કોઈપણ અપૂર્ણ સિદ્ધાંત T ને તેમાં એક સૂત્ર ઉમેરીને વિસ્તૃત કરી શકાય છે જે સાચું છે પરંતુ T માં વ્યુત્પન્ન નથી; જો કે, નવો સિદ્ધાંત પણ અપૂર્ણ હશે. વધુમાં, ઔપચારિક સિદ્ધાંતના માધ્યમનો ઉપયોગ કરીને સિદ્ધાંતની મેટાપ્રોપર્ટીઝનો અભ્યાસ કરવો અશક્ય છે, એટલે કે. કોઈપણ મેટાથિયરી T, ઓછામાં ઓછી સુસંગતતા સાબિત કરવા સક્ષમ થવા માટે, T કરતાં વધુ સમૃદ્ધ હોવી જોઈએ.

આમ, ગણિતને માધ્યમોના ચોક્કસ નિશ્ચિત સમૂહ તરીકે ઘડવાનો અભિગમ કે જેને એકમાત્ર કાયદેસર જાહેર કરી શકાય અને તેમની મદદથી કોઈપણ સિદ્ધાંતોની મેટાથીઓરી બનાવવામાં આવે તે પ્રશ્નાર્થમાં છે. પરંતુ આ ઔપચારિક અભિગમનું પતન બિલકુલ નથી. અદ્રાવ્ય સમસ્યાઓની હાજરીનો અર્થ એ નથી કે રચનાત્મક અભિગમ યોગ્ય નથી, જો તે કંઈક કરી શકતું નથી, તો તે માત્ર એટલા માટે છે કે કોઈ તે કરી શકતું નથી.

નોંધપાત્ર રીતે વ્યાખ્યાયિત સિદ્ધાંતોના સંપૂર્ણ ઔપચારિકકરણની અશક્યતા એ ખ્યાલની ખામી નથી, પરંતુ એક ઉદ્દેશ્ય હકીકત છે જે કોઈપણ ખ્યાલ દ્વારા દૂર કરી શકાતી નથી.

સિદ્ધાંતના પર્યાપ્ત ઔપચારિકકરણની અશક્યતાનો અર્થ એ છે કે વ્યક્તિએ કાં તો તેના ઔપચારિક ટુકડાઓ શોધવા જોઈએ, અથવા વધુ મજબૂત ઔપચારિક સિદ્ધાંત બનાવવો જોઈએ, જે, જો કે, ફરીથી અપૂર્ણ હશે, પરંતુ, કદાચ, સંપૂર્ણ મૂળ સિદ્ધાંત સમાવિષ્ટ હશે.

બિન-શાસ્ત્રીય તર્કશાસ્ત્ર



શું તમને લેખ ગમ્યો? તમારા મિત્રો સાથે શેર કરો!