Loading [MathJax]/jax/output/HTML-CSS/jax.js

المپدیا

دانش‌نامه‌ی المپیاد کامپیوتر ایران

ابزار کاربر

ابزار سایت


سوالات المپیاد:دوره ی تابستان:دوره ی ۸:تئوری:سوال ۱۸

سوال ۱۸

یک گرامر مستقل از متن، یک چهارتایی (V,Σ,R,S) است که:

V(a) یک مجموعه‌ی متناهی از متغیرها است.

Σ(b) یک مجموعه‌ی متناهی و مجزای از V از پایانه‌ها است.

R(c) یک مجموعه از قواعد است که هر قاعده شامل یک متغیر و یک رشته از متغیرها و پایانه‌ها است.

S \in V\quad (d)$ یک متغیر شروع است.

مثال: G=({S},{a,b},R,S) که مجموعه‌ی R عبارت است از:

SaSbSSSSe

اگر u، v و w رشته‌هایی از متغیرها و پایانه‌ها باشند و Aw، یک قاعده از گرامر باشد، می‌گوییم که uAv به uwv می‌رسد و می‌نویسیم uAvuwv. اگر u=v و یا اگر دنباله‌ی u1,u2,uk وجود داشته باشد که k0 و

u=u1u2uk=v

آن‌گاه می‌نویسیم uv.

زبان گرامر عبارت است از تمام رشته‌های w از عناصر Σ به قسمی که Sw.

به عنوان نمونه در مثال فوق داریم: Sabab و Saaabbb و … و به این ترتیب زبان گرامر فوق عبارت‌است‌از: {abab,aaabbb,aababb,}

اگر A زبان یک گرامر مستقل از متن باشد، نشان دهید عدد p وجود دارد که اگر s یک رشته متعلق به A با طول بیش‌تر از p‌باشد، آن‌گاه می‌توان s را به ۵ قسمت افراز کرد یعنی s=uvxyz بع قسمی که سه شرط زیر برقرار شوند (منظور از |w| طول رشته‌ی w و منظور از xy رشته‌ی حاصل از پشت سر هم قرار دادن رشته‌های x و y‌است):

(a) برای هر i0، uvixyizA

|vy|>0(b)

|vxy|p(c)


ابزار صفحه