ภาษาปกติและเครื่องสถานะจำกัด ออโตมาตะจำกัดและภาษาปกติ ทฤษฎีภาษาทางการสำหรับหุ่นจำลอง

เรารู้การดำเนินการของการรวมภาษา เรามากำหนดการดำเนินการของการต่อข้อมูลและการวนซ้ำ (บางครั้งเรียกว่าการปิด Kleene)

ให้ L 1 และ L 2 เป็นภาษาในตัวอักษร

แล้วนั่นคือ การต่อข้อมูลภาษาประกอบด้วยการต่อคำทุกคำในภาษาแรกเข้ากับคำภาษาที่สองทุกคำ โดยเฉพาะ if , then และ if , then

ให้เราแนะนำสัญกรณ์สำหรับ "องศา" ของภาษา L:

ดังนั้น L i จึงรวมคำทั้งหมดที่สามารถแบ่งออกเป็น i คำที่ต่อเนื่องกันจาก L

การวนซ้ำ (L) * ของภาษา L ประกอบด้วยคำทั้งหมดที่สามารถแบ่งออกเป็นหลายคำติดต่อกันจาก L:

สามารถแสดงได้โดยใช้องศา:

มักจะสะดวกที่จะพิจารณาการใช้ภาษาซ้ำแบบ "ตัดทอน" ซึ่งไม่มีคำว่างหากไม่มีอยู่ในภาษา: - นี่ไม่ใช่การดำเนินการใหม่ แต่เป็นเพียงการจดชวเลขที่สะดวกสำหรับนิพจน์

โปรดทราบด้วยว่าหากเราถือว่าตัวอักษรเป็นภาษาจำกัดซึ่งประกอบด้วยคำที่มีตัวอักษรเดี่ยว ดังนั้นการกำหนดที่แนะนำไว้ก่อนหน้านี้สำหรับชุดของคำทั้งหมด รวมถึงคำว่าง ในตัวอักษรจะสอดคล้องกับคำจำกัดความของการวนซ้ำของภาษานี้

ตารางต่อไปนี้ให้คำนิยามอุปนัยอย่างเป็นทางการ การแสดงออกปกติเหนือตัวอักษรและภาษาที่พวกเขาเป็นตัวแทน

นิพจน์ร ภาษา L r
ล =(ก)
ให้ r 1 และ r 2 เป็น L r1 และ L r2 -เป็นตัวแทนได้
การแสดงออกปกติ. ลิ้นของพวกเขา
แล้วสำนวนต่อไปนี้
เป็นประจำ และเป็นตัวแทนของภาษา:
ร=(ร 1 +ร 2)
r=(ร 1 วงกลม 2)
ร=(ร 1) * ล r =ล r1 *

เมื่อทำการบันทึก การแสดงออกปกติเราจะละเครื่องหมายการต่อข้อมูลและถือว่าการดำเนินการ * มีลำดับความสำคัญสูงกว่าการต่อข้อมูลและ + และการต่อข้อมูลมีลำดับความสำคัญสูงกว่า + ซึ่งจะทำให้สามารถละเว้นวงเล็บหลายอันได้ ตัวอย่างเช่น, สามารถเขียนได้เป็น 10(1 * + 0)

คำจำกัดความ 5.1- สอง การแสดงออกปกติ r และ p ได้รับการกล่าวขานว่าเทียบเท่าหากภาษาที่พวกเขาแสดงเหมือนกันนั่นคือ ล ร = ล พี . ในกรณีนี้เราเขียนว่า r = p

ง่ายต่อการตรวจสอบ ดังตัวอย่างต่อไปนี้ คุณสมบัติประจำการดำเนินงาน:

  • r + p= p+ r (การสับเปลี่ยนของสหภาพ)
  • (r+p) +q = r + (p+q) (ความสัมพันธ์ของสหภาพ)
  • (r p) q = r (p q) (การเชื่อมโยงของการต่อข้อมูล)
  • (r *) * = r * (ค่าเดิมของการวนซ้ำ)
  • (r +p) q = rq + หน้า(การกระจาย).

ตัวอย่างที่ 5.1- ให้เราพิสูจน์เป็นตัวอย่างถึงความเท่าเทียมกันที่ไม่ชัดเจนนัก: (r + p) * = (r * p *) *

ให้ L 1 เป็นภาษาที่แสดงทางด้านซ้าย และ L 2 เป็นภาษาที่แสดงทางด้านซ้าย คำที่ว่างเปล่าเป็นของทั้งสองภาษา หากคำนั้นไม่ว่างเปล่า ตามคำจำกัดความของการวนซ้ำ คำนั้นสามารถแสดงเป็นการต่อคำย่อยที่เป็นของภาษานั้นได้ แต่ภาษานี้เป็นส่วนหนึ่งของภาษา L"=L r * L p * (ทำไม?) ดังนั้น - ในทางกลับกันหากเป็นคำ ก็แสดงว่าเป็นการต่อคำย่อยที่เป็นของภาษา L " คำย่อยแต่ละคำดังกล่าว v สามารถแสดงได้ในรูปแบบโวลต์= โวลต์ 1 1 ... โวลต์ k 1 โวลต์ 1 2 ... โวลต์ ล. 2

โดยที่สำหรับ i=1, ... , k เป็นคำย่อยทั้งหมด และสำหรับ j=1 ทั้งหมด ... , l เป็นคำย่อย (เป็นไปได้ว่า k หรือ l เท่ากับ 0) แต่นี่หมายความว่า w คือการต่อคำย่อยเข้าด้วยกัน ซึ่งแต่ละคำเป็นของ และ ดังนั้น .

ภาษาประจำ ในทฤษฎีภาษาชุดปกติ (หรือ,ในภาษาปกติ

) เรียกว่าภาษาทางการที่มีคุณสมบัติดังต่อไปนี้ คุณสมบัติง่ายๆ เหล่านี้ทำให้คลาสของเซตปกติสะดวกต่อการศึกษาโดยรวม และผลลัพธ์ที่ได้สามารถนำไปใช้ในกรณีสำคัญของภาษาทางการหลายกรณี นั่นคือแนวคิดของเซตปกติเป็นตัวอย่างของโครงสร้างทางคณิตศาสตร์

คำจำกัดความของชุดปกติ ให้ Σ เป็นตัวอักษรที่มีขอบเขตจำกัดชุดประจำ

№. R(Σ) ในตัวอักษร Σ ถูกกำหนดโดยคุณสมบัติแบบเรียกซ้ำต่อไปนี้: คุณสมบัติ
1 คำอธิบาย
2 เซตว่างคือเซตปกติในตัวอักษร Σ
3 ชุดที่ประกอบด้วยสตริงว่างเพียงชุดเดียวคือชุดปกติในตัวอักษร Σ
4 ชุดที่ประกอบด้วยสัญลักษณ์ใดสัญลักษณ์หนึ่งของตัวอักษร Σ คือชุดปกติในตัวอักษร Σ
5 หากสองชุดใดๆ เป็นชุดปกติในตัวอักษร Σ ดังนั้นการรวมกันของชุดดังกล่าวก็จะเป็นชุดปกติในตัวอักษร Σ เช่นกัน
6 หากสองชุดใดเป็นชุดปกติในตัวอักษร Σ ชุดที่ประกอบด้วยคู่องค์ประกอบที่เป็นไปได้ทั้งหมดก็ถือเป็นชุดปกติในตัวอักษร Σ เช่นกัน
หากเซตใดเป็นเซตปกติในตัวอักษร Σ แสดงว่าเซตของการรวมกันที่เป็นไปได้ทั้งหมดขององค์ประกอบนั้นก็จะเป็นเซตปกติในตัวอักษร Σ เช่นกัน

ไม่มีสิ่งใดนอกจากต่อไปนี้ที่เป็นชุดปกติในตัวอักษร Σ

  • ดูเพิ่มเติม

การสร้าง parser ตามแนวทางของออโตมาตะ

มูลนิธิวิกิมีเดีย

    2010.ดูว่า "ภาษาปกติ" ในพจนานุกรมอื่น ๆ คืออะไร: ภาษาปกติ

    - (ภาษาละติน Regularius จากกฎเรกูลา) ถูกต้อง จัดทำถูกต้อง จัดทำขึ้น. การทำงานปกติของเครื่อง แม้กระทั่งโรคหลอดเลือดสมอง ชีวิตปกติ. ชีวิตที่ถูกต้อง เหมาะสม และน่าเบื่อหน่าย พจนานุกรมคำต่างประเทศรวมอยู่ในภาษารัสเซีย.... ... พจนานุกรมคำต่างประเทศในภาษารัสเซีย

    ซม… พจนานุกรมคำพ้องความหมาย

    ภาษาเขียนโบราณ- ภาษาที่มีประเพณีการเขียนมายาวนาน กล่าวคือ ได้รับภาษาเขียนมาปรับให้เข้ากับโครงสร้างของภาษาที่กำหนดเมื่อหลายศตวรรษก่อน และการทำงานของภาษาเขียนนั้นไม่ได้เป็นตอนๆ แต่เป็นประจำ โดยมี... . .. พจนานุกรมศัพท์ภาษาศาสตร์สังคม

    คำนี้มีความหมายอื่น ดูที่ Quechua Quechua ชื่อตนเอง: Qhichwa Simi, ประเทศ Runa Simi ... Wikipedia

    กรอบของอาคารที่มีตารางของเสาหรือเสาตามขั้นบันไดที่มีขนาดเท่ากัน (บัลแกเรีย; Български) โครงกระดูกเครื่องแบบ (เช็ก; Šeština) pravidelný skelet (เยอรมัน; Deutsch) regelmäßiges Skelett (ฮังการี; Magyar) szabályos... ... พจนานุกรมการก่อสร้าง

    - [FRENCH PARK] สวนสาธารณะที่มีรูปแบบปกติทางเรขาคณิต โดยปกติจะเป็นรูปแบบแนวแกน (บัลแกเรีย; Български) สวนสาธารณะ frenski (เช็ก; Šeština) สวนสาธารณะ Francouzský (เยอรมัน; Deutsch) สวนสาธารณะ regelmäßiger; ฟรานโซซิเชอร์พาร์ค…… พจนานุกรมการก่อสร้าง

    Quechua ชื่อตัวเอง: Qhichwa Simi, Runa Simi ประเทศ: อาร์เจนตินา, โบลิเวีย, โคลัมเบีย, เปรู, ชิลี, เอกวาดอร์ ภูมิภาค: Andes สถานะอย่างเป็นทางการ: เปรู ... Wikipedia

    ภาษาตากาล็อก- (ตากัล, ตากาลา, ตากาโล; ตากาล็อก) หนึ่งในภาษาฟิลิปปินส์ พื้นที่กระจายเริ่มต้นอยู่ในภูมิภาคที่มีความสำคัญทางการเมือง เศรษฐกิจ และวัฒนธรรมที่สุดของสาธารณรัฐฟิลิปปินส์ - ตอนกลางและตอนใต้ของเกาะ... ... พจนานุกรมสารานุกรมภาษาศาสตร์

หนังสือ

  • กริยาที่ได้รับ ความลับของไวยากรณ์ภาษาฟินแลนด์ หนังสือเรียน Safronov V.D. คู่มือนี้อุทิศให้กับส่วนที่น่าสนใจที่สุดและนำเสนอไม่เพียงพอของไวยากรณ์ฟินแลนด์ในวรรณคดีการศึกษาภาษารัสเซีย - คำกริยาที่ได้รับ เกิดจากคำกริยาและจากชื่อ...

ไวยากรณ์ปกติ ออโตมาตาจำกัด และชุดปกติ (และนิพจน์ทั่วไปที่เป็นตัวแทน) เป็นวิธีที่แตกต่างกันสามวิธีในการระบุภาษาปกติ

คำแถลง

ภาษาคือ PM ก็ต่อเมื่อมีการระบุด้วยไวยากรณ์เส้นตรงซ้าย (เส้นตรงขวา) ภาษาสามารถกำหนดได้ด้วยไวยากรณ์เส้นตรงซ้าย (เส้นตรงขวา) หากเป็นชุดปกติเท่านั้น

ภาษาคือ PM ก็ต่อเมื่อมีการระบุโดยเครื่องสถานะจำกัด เครื่องของรัฐจะจดจำภาษาได้ก็ต่อเมื่อเป็น PM เท่านั้น

ทั้งสามวิธีนี้เทียบเท่ากัน มีอัลกอริธึมที่อนุญาตให้สำหรับภาษาที่กำหนดด้วยวิธีใดวิธีหนึ่งเหล่านี้ สามารถสร้างวิธีอื่นที่กำหนดภาษาเดียวกันได้ คำอธิบายโดยละเอียดของอัลกอริธึมเหล่านี้มีอยู่ในเอกสาร (ดูรายการ)

ตัวอย่างเช่น หากต้องการค้นหานิพจน์ทั่วไปสำหรับภาษาที่กำหนดโดยไวยากรณ์เชิงเส้นตรง จำเป็นต้องสร้างและแก้ระบบสมการด้วยสัมประสิทธิ์ปกติ

ในทฤษฎีภาษาโปรแกรม บทบาทที่สำคัญที่สุดคือความเท่าเทียมกันของ CA และไวยากรณ์ปกติ เนื่องจากไวยากรณ์ดังกล่าวใช้เพื่อกำหนดโครงสร้างคำศัพท์ของภาษาโปรแกรม หลังจากสร้างหุ่นยนต์ตามไวยากรณ์ที่รู้จักแล้ว เราก็ได้รับการจดจำสำหรับภาษาที่กำหนด ด้วยวิธีนี้ จึงสามารถแก้ไขปัญหาการแยกวิเคราะห์การสร้างคำศัพท์ของภาษาได้

หากต้องการสร้าง CA ตามไวยากรณ์ปกติที่รู้จัก จะต้องลดให้อยู่ในรูปแบบอัตโนมัติ ชุดสถานะของออโตเมตอนจะสอดคล้องกับชุดของสัญลักษณ์ที่ไม่ใช่เทอร์มินัลของไวยากรณ์ 2.3.2 คุณสมบัติของภาษาปกติ

ชุดจะถูกเรียกว่าปิดภายใต้การดำเนินการบางอย่างหากได้รับองค์ประกอบใหม่ที่เป็นของชุดเดียวกันซึ่งเป็นผลมาจากการดำเนินการนี้กับองค์ประกอบใด ๆ ของมัน

เซตปกติจะถูกปิดภายใต้การดำเนินการของอินเตอร์เซกชัน การรวม การบวก การวนซ้ำ การต่อข้อมูล การเปลี่ยนชื่อสัญลักษณ์ และการแทนที่สตริงสำหรับสัญลักษณ์

สำหรับภาษาปกติ ปัญหามากมายสามารถแก้ไขได้ซึ่งไม่สามารถแก้ไขได้สำหรับภาษาประเภทอื่น ตัวอย่างเช่น ปัญหาต่อไปนี้สามารถแก้ไขได้โดยไม่คำนึงถึงวิธีระบุภาษา:

ปัญหาความเท่าเทียมกัน: ให้สองภาษาปกติ L 1 (V) และ L 2 (V) มีความจำเป็นต้องพิจารณาว่าเทียบเท่ากันหรือไม่

ปัญหาลูกโซ่ที่เป็นของภาษา เมื่อพิจารณาจากภาษาปกติ L(V) สตริงของสัญลักษณ์ V * เราจำเป็นต้องตรวจสอบว่าโซ่นี้เป็นของภาษาหรือไม่

ปัญหาความว่างเปล่าของภาษา ให้เป็นภาษาปกติ L(V) จำเป็นต้องตรวจสอบว่าภาษานี้ว่างเปล่าหรือไม่ เช่น ค้นหาอย่างน้อยหนึ่งสาย L(V)

บางครั้งจำเป็นต้องพิสูจน์ว่าภาษาใดภาษาหนึ่งเป็นภาษาปกติหรือไม่ หากเป็นไปได้ที่จะระบุภาษานี้ด้วยวิธีใดวิธีหนึ่งแสดงว่าเป็นภาษาปกติ แต่หากไม่พบวิธีการดังกล่าว ก็ไม่ทราบว่าภาษานั้นไม่ปกติหรือไม่ หรือเพียงไม่สามารถหาวิธีระบุได้ มีวิธีง่ายๆ ในการตรวจสอบว่าภาษาที่เป็นปัญหานั้นปกติหรือไม่ ได้รับการพิสูจน์แล้วว่าหากเป็นภาษาใดภาษาหนึ่งที่เรียกว่า บทแทรกการขยายตัว แสดงว่าเป็นเรื่องปกติ หากบทแทรกนี้ไม่พอใจ ภาษาจะไม่ปกติ

บทแทรกการเติบโตมีการกำหนดดังนี้ หากให้ภาษาปกติและสายโซ่สัญลักษณ์ที่ยาวเพียงพอของภาษานี้จากนั้นเราจะพบสตริงย่อยที่ไม่ว่างเปล่าซึ่งสามารถทำซ้ำได้บ่อยเท่าที่ต้องการและสายโซ่ทั้งหมดที่ได้รับในลักษณะนี้ก็จะเป็นของ ภาษาปกติที่เป็นปัญหา

อย่างเป็นทางการบทแทรกเขียนดังนี้ ถ้ากำหนดภาษา L ค่าคงที่ p>0 จะเป็นดังนี้ ถ้า L และ p ดังนั้นสายโซ่สามารถเขียนได้ในรูปแบบที่ 0

ตัวอย่าง. พิจารณาภาษา L=(a n b n>0) ขอให้เราพิสูจน์ว่ามันไม่ใช่เรื่องปกติ โดยใช้บทแทรกกับการแพร่กระจายของภาษา

ปล่อยให้ภาษานี้เป็นปกติ จากนั้นบทแทรกการเติบโตจะต้องดำเนินต่อไป ลองหาสายโซ่ของภาษานี้ = a n b n แล้วเขียนมันในรูปแบบ ถ้า a + หรือ b + แสดงว่าสายโซ่ i ไม่ได้อยู่ในภาษาสำหรับ i ใดๆ ซึ่งขัดแย้งกับเงื่อนไขของบทแทรก ถ้า a + b + ดังนั้น chain 2 ก็ไม่เป็นภาษา L เช่นกัน เราได้รับความขัดแย้งดังนั้นภาษาจึงไม่ปกติ

ชุดประจำและการแสดงออกปกติ

ชุดประจำ

ในส่วนนี้ เราจะพิจารณาคลาสของเซตของเชนเหนือพจนานุกรมจำกัด ซึ่งอธิบายได้ง่ายมากด้วยสูตรบางชนิด ชุดเหล่านี้เรียกว่าปกติ

คำจำกัดความ 1.อนุญาตวี 1 และวี 2 - โซ่มากมาย เรามานิยามการดำเนินการสามรายการกันบนชุดเหล่านี้

    ยูเนี่ยน: V 1 V 2 =(|   V 1 ) หรือ   V 2 .

    การต่อข้อมูล (ผลิตภัณฑ์ การติดกาว): Vl V2 = (|  V 1 ,  V 2 ) โดยปกติจะละเว้นเครื่องหมายของการดำเนินการต่อข้อมูล

ตัวอย่าง:วี, = (เอบีซี, บริติชแอร์เวย์),วี 2 = (ข, ซีบี) V1V2 =(abcb, abccb, bab, bacb)

ให้เราแสดงด้วย V n ผลคูณของเซต n V:V n =VV...V,V° =() (ในที่นี้  คือสายโซ่ว่าง)

ตัวอย่าง: V 1 = (abc, ba), V 1 2 = (abcabc, abcba, baba, baabc)

3. การวนซ้ำ: V* = V 0 V 1 V 2 ... =   =0 ∞ V n

ตัวอย่าง: V = (a, bc), V* = (, a, bc, aa, abc, bcbc, bca, aaa, aabc,...)

คำนิยาม 4.13คลาสของเซตปกติบนพจนานุกรมที่มีขอบเขตจำกัดวี กำหนดดำเนินไปดังนี้:

    ยูเนี่ยน ST;

    การต่อข้อมูล ST;

    วนซ้ำ S* และ T*

5. หากไม่สามารถสร้างเซตโดยใช้กฎข้อ 1-4 อย่างจำกัดได้ จะถือว่าผิดปกติ

ตัวอย่างของเซตปกติ: (ab, ba)* (aa); (ข)((ค)(ง, ab)*) ตัวอย่างของเซตที่ไม่ปกติ: (a n b n | n > 0); ( | ในสายโซ่  จำนวนการเกิดสัญลักษณ์ a และ b ตรงกัน)

นิพจน์ทั่วไป

ชุดปกตินั้นดีเพราะสามารถอธิบายได้ง่าย ๆ ด้วยสูตร ซึ่งเราจะเรียกว่านิพจน์ทั่วไป

คำจำกัดความ 2คลาสนิพจน์ทั่วไปเหนือพจนานุกรมที่มีขอบเขตจำกัดวี กำหนดดำเนินไปดังนี้:

    ผลรวมของพวกเขา R1+R2;

    ผลิตภัณฑ์ของพวกเขา R1R2;

    การวนซ้ำ R1* และ R2*

4. หากนิพจน์ไม่ได้ถูกสร้างขึ้นโดยใช้กฎข้อ 1-3 อย่างจำกัด แสดงว่านิพจน์นั้นไม่ปกติ

สัญลักษณ์การทำงานสามารถละเว้นได้ เพื่อลดจำนวนวงเล็บ เช่นเดียวกับในพีชคณิตใดๆ ลำดับความสำคัญของการดำเนินการจะถูกใช้: การวนซ้ำมีลำดับความสำคัญสูงสุด งานมีลำดับความสำคัญน้อยกว่า นอกจากนี้มีลำดับความสำคัญต่ำสุด

ตัวอย่างของนิพจน์ทั่วไป: ab + bа*; (aa)*b + (c + dab)*.

แน่นอนว่าเซตปกติและนิพจน์ทั่วไปมีความใกล้เคียงกันมาก แต่พวกมันเป็นตัวแทนของเอนทิตีที่แตกต่างกัน: ชุดปกติคือชุดของลูกโซ่ (ในกรณีทั่วไปไม่มีที่สิ้นสุด) และ การแสดงออกปกติคือสูตรที่แสดงแผนผังว่าชุดปกติที่สอดคล้องกันถูกสร้างขึ้นอย่างไรโดยใช้การดำเนินการที่ระบุไว้ข้างต้น(และสูตรนี้มีจำกัด)

ให้ R^ เป็นเซตปกติที่สอดคล้องกับนิพจน์ทั่วไป R จากนั้น:

ดังนั้น นิพจน์ทั่วไปจึงเป็นสูตรจำกัดที่กำหนดจำนวนเชนที่ไม่มีที่สิ้นสุด ซึ่งก็คือภาษา

มาดูตัวอย่างนิพจน์ทั่วไปและภาษาที่เกี่ยวข้องกัน

การแสดงออกปกติ

ภาษาที่สอดคล้องกัน

สตริงทั้งหมดที่ขึ้นต้นด้วย b ตามด้วยอักขระ a ตามจำนวนที่กำหนด

สตริงทั้งหมดของ a และ b มี b เกิดขึ้นสองครั้งพอดี

โซ่ทั้งหมดของ a และ b ซึ่งสัญลักษณ์ b ปรากฏเป็นคู่เท่านั้น

(ก+ข)*(เอเอ+บีบี)(ก+ข)*

สายโซ่ทั้งหมดของ a และ b มี a หรือ b ที่อยู่ติดกันอย่างน้อยหนึ่งคู่

(0+1)*11001(0+1)*

เชนทั้งหมดของ 0 และ 1 มีเชนย่อย 11001

สตริงทั้งหมดของ a และ b เริ่มต้นด้วย a และลงท้ายด้วย b

แน่นอนว่า ชุดของสตริงจะเป็นชุดปกติก็ต่อเมื่อสามารถแสดงด้วยนิพจน์ทั่วไปได้ อย่างไรก็ตาม ชุดโซ่เดียวกันสามารถแสดงด้วยนิพจน์ทั่วไปที่แตกต่างกันได้ ตัวอย่างเช่น ชุดของโซ่ที่ประกอบด้วยสัญลักษณ์ a และมีอย่างน้อยสอง a สามารถแสดงด้วยนิพจน์: aa*a; อ*อ๊า*; อ่าาา*; ก*อ๊า*อ๊า* ฯลฯ

คำจำกัดความ 3สองนิพจน์ทั่วไป R1 และ R2 เรียกว่าเทียบเท่า (แสดงอาร์ล = R2) แล้วและเมื่อเท่านั้น1 ^ = 2 ^ .

ดังนั้น aa*a = a*aaa* = aaa* = a*aa*aa* คำถามเกิดขึ้นว่าจะกำหนดความเท่าเทียมกันของนิพจน์ทั่วไปสองรายการได้อย่างไร

ทฤษฎีบท1 . สำหรับนิพจน์ทั่วไปใดๆอาร์, ส และยุติธรรม:

ความสัมพันธ์เหล่านี้สามารถพิสูจน์ได้โดยการตรวจสอบความเท่าเทียมกันของชุดโซ่ที่เกี่ยวข้อง สามารถใช้เพื่อลดความซับซ้อนของนิพจน์ทั่วไป ตัวอย่างเช่น: b (b + aa*b) = b (b + aa*b) = b ( + aa*) b = ba*b ดังนั้น b (b + aa*b) = ba*b ซึ่งไม่ชัดเจน

ทฤษฎีบทของคลีน

นิพจน์ทั่วไปเป็นสูตรสุดท้ายที่กำหนดภาษาปกติ แต่เครื่องสถานะจำกัดก็มีคุณสมบัติคล้ายกันเช่นกัน - พวกมันยังกำหนดภาษาด้วย คำถามเกิดขึ้น: คลาสของภาษาที่กำหนดโดยเครื่องสถานะอัน จำกัด และนิพจน์ทั่วไปเกี่ยวข้องกันอย่างไร มาแสดงกันเถอะ และภาษาอัตโนมัติมากมาย R คือชุดของภาษาปกติ Stephen Kleene นักคณิตศาสตร์ชาวอเมริกันได้พิสูจน์ทฤษฎีบทต่อไปนี้

ทฤษฎีบท2 . (ทฤษฎีบทของไคลน์) คลาสของเซตปกติและภาษาออโตมาตอนตรงกันนั่นคือ เอ = .

กล่าวอีกนัยหนึ่ง ภาษาของหุ่นยนต์ทุกภาษาสามารถระบุได้ด้วยสูตร (นิพจน์ทั่วไป) และชุดปกติทุกชุดสามารถรับรู้ได้ด้วยหุ่นยนต์จำกัด เราจะพิสูจน์ทฤษฎีบทนี้อย่างสร้างสรรค์ในสองขั้นตอน ในขั้นตอนแรก เราจะพิสูจน์ว่าภาษาของหุ่นยนต์ใดๆ นั้นเป็นเซตปกติ (หรือสิ่งที่เหมือนกันคือ สำหรับหุ่นยนต์จำกัดใดๆ เราสามารถสร้างนิพจน์ทั่วไปที่ระบุภาษาที่หุ่นยนต์นี้รู้จัก) ในขั้นตอนที่สอง เราพิสูจน์ว่าเซตปกติใดๆ เป็นภาษาของหุ่นยนต์ (หรือที่เหมือนกัน จากนิพจน์ทั่วไปใดๆ เราสามารถสร้างหุ่นยนต์จำกัดที่ยอมรับสายโซ่ของเซตปกติที่สอดคล้องกันได้อย่างแน่นอน)

ให้เราแนะนำแบบจำลองกราฟการเปลี่ยนแปลงซึ่งเป็นลักษณะทั่วไปของแบบจำลองออโตมาตอนอันจำกัด กราฟการเปลี่ยนแปลงมีจุดยอดสุดท้ายเริ่มต้นหนึ่งจุดและจำนวนเท่าใดก็ได้ และขอบที่มีทิศทางจะถูกทำเครื่องหมายไว้ ซึ่งแตกต่างจากหุ่นยนต์จำกัดที่ไม่มีสัญลักษณ์ แต่มีนิพจน์ทั่วไป กราฟการเปลี่ยนแปลงยอมรับลูกโซ่ a if เป็นของชุดโซ่ซึ่งอธิบายโดยผลคูณของนิพจน์ทั่วไป R 1 R 2 ...R n ซึ่งทำเครื่องหมายเส้นทางจากจุดยอดเริ่มต้นไปยังจุดยอดสุดท้ายจุดใดจุดหนึ่ง ชุดของสายโซ่ที่อนุญาตโดยกราฟการเปลี่ยนแปลงจะสร้างภาษาที่อนุญาต

ข้าว. 1. กราฟการเปลี่ยนผ่าน

ในรูป รูปที่ 1 แสดงกราฟการเปลี่ยนแปลงที่ยอมให้ ตัวอย่างเช่น สาย abbca เนื่องจากเส้นทาง s->r->p->s->r->q ซึ่งนำไปสู่สถานะสุดท้าย q ถูกทำเครื่องหมายด้วยสายโซ่ของ นิพจน์ทั่วไป ab* c*a เครื่องสถานะจำกัดเป็นกรณีพิเศษของกราฟการเปลี่ยนผ่าน ดังนั้นทุกภาษาที่เครื่องสถานะยอมรับจึงได้รับการสนับสนุนโดยกราฟการเปลี่ยนผ่านด้วย

ทฤษฎีบท 3ภาษาหุ่นยนต์ทุกภาษาเป็นชุดปกติ เอ  ร.

การพิสูจน์. กราฟการเปลี่ยนผ่านที่มีจุดยอดเริ่มต้นหนึ่งจุดและจุดยอดสุดท้ายหนึ่งจุด โดยที่ขอบเพียงจุดเดียวจากจุดเริ่มต้นถึงจุดยอดสุดท้ายจะมีป้ายกำกับด้วยนิพจน์ทั่วไป R ยอมรับภาษา R^ (รูปที่ 1)

ข้าว. 2. กราฟการเปลี่ยนผ่านที่ยอมรับภาษาปกติ FT

ตอนนี้ให้เราพิสูจน์ว่าภาษาของหุ่นยนต์ทุกตัวเป็นแบบปกติโดยการลดกราฟการเปลี่ยนผ่านโดยไม่ต้องเปลี่ยนภาษาที่อนุญาตให้มีรูปแบบที่เทียบเท่ากัน (รูปที่ 2)

หุ่นยนต์จำกัดและกราฟการเปลี่ยนแปลงใดๆ สามารถแสดงในรูปแบบปกติได้เสมอ โดยจะมีจุดยอดเริ่มต้นเพียงจุดเดียวที่มีขอบขาออกเท่านั้น และมีเพียงจุดยอดสุดท้ายเพียงจุดเดียวที่มีขอบขาเข้าเท่านั้น (รูปที่ 3)

ข้าว. 3. กราฟการเปลี่ยนผ่านที่มีจุดเริ่มต้นหนึ่งจุดและจุดยอดสุดท้ายหนึ่งจุด

ด้วยกราฟการเปลี่ยนผ่านที่นำเสนอในรูปแบบปกติ การดำเนินการลด 2 แบบสามารถทำได้ ได้แก่ การลดขอบและการลดจุดยอด โดยที่ยังคงรักษาภาษาที่อนุญาตโดยกราฟการเปลี่ยนผ่านนี้:

ก) การลดซี่โครง:

บี ) การลดจุดยอด (การแทนที่จะดำเนินการสำหรับแต่ละเส้นทางที่ผ่านจุดยอด p ตามด้วยการละทิ้งเนื่องจากสถานะที่ไม่สามารถเข้าถึงได้):

แน่นอนว่า การดำเนินการลดแต่ละครั้งจะไม่เปลี่ยนภาษาที่กราฟการเปลี่ยนผ่านรับรู้ แต่จะลดจำนวนขอบหรือจำนวนจุดยอดลง และท้ายที่สุดแล้ว การลดลงจะทำให้กราฟการเปลี่ยนผ่านเป็นรูปแบบที่แสดงในรูปที่ 1 2. ทฤษฎีบทได้รับการพิสูจน์แล้ว: ภาษาของหุ่นยนต์ทุกภาษาเป็นชุดปกติ

ตัวอย่าง

ให้เครื่องจำกัด A ได้รับ:

เราสร้างกราฟการเปลี่ยนแปลงที่เทียบเท่ากันในรูปแบบมาตรฐาน

การลดจุดยอด 3:

การลดส่วนโค้งและการประยุกต์กฎ R = R:

การลดจุดยอด 2:

การลดส่วนโค้งและจุดยอด 1:

ดังนั้น ภาษาที่หุ่นยนต์ A รู้จักจึงถูกกำหนดโดยนิพจน์ทั่วไป: R A = b+(a+bb)(b+ab)*a

ลองพิสูจน์ทฤษฎีบทของคลีนในทิศทางตรงกันข้ามกัน

ทฤษฎีบท 2ทุกชุดปกติเป็นภาษาของหุ่นยนต์: ร ก.

การพิสูจน์.ให้เราแสดงให้เห็นว่าสำหรับนิพจน์ทั่วไปแต่ละตัว R สามารถสร้างออโตมาตันจำกัด A r (อาจไม่สามารถกำหนดได้) ที่รับรู้ภาษาที่ระบุโดย R เราจะกำหนดออโตมาตะดังกล่าวแบบเรียกซ้ำ

(สถานะเริ่มต้นและสุดท้ายของ A ถูกรวมเข้าด้วยกัน)

ตัวอย่าง(ต่อ)

บทความที่เกี่ยวข้อง