บทที่ 3 (ต่อ) ไวยากรณ์เรกูลาร์.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
แนวทางการจัดทำบัญชีสมดุลยางพารา
Advertisements

การสร้างเว็บเพจด้วยภาษา Html
วิชา การวิเคราะห์และออกแบบเชิงวัตถุ รหัส
บทที่ 6 บทที่ 6 คำสั่งแก้ไขปัญหาแบบ เลือก (CONDITION)
แบบจำลองฐานข้อมูล คือ เครื่องมือในเชิงแนวคิดที่ใช้ในการอธิบาย ข้อมูล
หน่วยที่ 3 ภาษาคำสั่งพื้นฐานที่ใช้เขียนโปรแกรม PLC
หน่วยการเรียนรู้ที่ 7 ความรู้เบื้องต้นเกี่ยวกับจำนวนจริง
LAB ตัวแปร : Variables ในการเขียนโปรแกรมเราต้องการให้โปรแกรม จดจำค่าต่างๆ ไว้ เช่นเมื่อรับค่าข้อมูลจาก ผู้ใช้ หรือค่าที่ได้จากการคำนวณใดๆ ค่า.
ชนิดของข้อมูล และการคำนวณทางคณิตศาสตร์
หน่วยการเรียนรู้ที่ 2 หลักการแก้ปัญหาด้วยคอมพิวเตอร์
Pushdown Automata : PDA
ไวยากรณ์คอนเท็กซ์ฟรี และภาษาคอนเท็กซ์ฟรี
ไฟไนต์ออโตมาตาที่คาดเดาไม่ได้ (Non-deterministic Finite Automata)
ตัวผกผันการคูณของเมทริกซ์
Finite-state Automata
การออกแบบออโตมาตาจำกัดเชิงกำหนด ( DFA )
คุณสมบัติของภาษาเรกูลาร์
การทดลองในวิชาฟิสิกส์
ผู้วิจัย รุจิรัชช์ญานันท์ ชัยแก้ว
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
กระบวนการของการอธิบาย
ซอฟต์แวร์และการเลือกใช้
ประเภทของโครงงาน ครูกตัญชลี เอกวุธ.
การรักษาความปลอดภัยข้อมูลขั้นพื้นฐาน
ครั้งที่ 7 รีจิสเตอร์ (REGISTER). รีจิสเตอร์ (Register) รีจิสเตอร์เป็นวงจรความจำที่ใช้ในการเก็บค่า ทางไบนารี่ ใช้ในการเก็บค่าในระหว่างการ ประมวลผลโดยใช้ฟลิป.
ด้วยสำนักงานอัยการสูงสุดได้จัดทำ แผนพัฒนาคุณภาพชีวิตในการทำงาน ของบุคลากรสำนักงานอัยการสูงสุด ประจำปีงบประมาณ พ. ศ. ๒๕๕๕ โดย แบ่งการดำเนินกิจกรรม เป็น.
Project Management by Gantt Chart & PERT Diagram
ผังงาน..(Flow Chart) หมายถึง...
หน่วยที่ 2 สัญญาประกันภัย
Material requirements planning (MRP) systems
ส่วนประกอบของคอมพิวเตอร์ (Personal Computer : PC)
หน่วยที่ 1 ข้อมูลทางการตลาด. สาระการเรียนรู้ 1. ความหมายของข้อมูลทางการตลาด 2. ความสำคัญของข้อมูลทางการตลาด 3. ประโยชน์ของข้อมูลทางการตลาด 4. ข้อจำกัดในการหาข้อมูลทาง.
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
บทที่ 5 อินพุตและเอาต์พุต
หน่วยการเรียนที่ 6 เรื่อง การจัดการฐานข้อมูลด้วย PHP Function
บทที่ 3 การวิเคราะห์ Analysis.
ส่วนประกอบของคอมพิวเตอร์ (Personal Computer : PC)
แล้วทำการเรียงลำดับข้อมูลใหม่โดยเรียงจากน้อยไปหามาก
ระบบการจัดการฐานข้อมูล บทที่ 3 การวิเคราะห์ (Analysis)
STACK สแตก(stack) เป็นโครงสร้างข้อมูลแบบเชิงเส้น ที่มีการใส่ข้อมูลเข้า และนำข้อมูลออกเพียงด้านเดียว ดังนั้น ข้อมูลที่เข้าไปอยู่ใน stack ก่อนจะออกจาก stack.
โครงสร้างภาษา C Arduino
บทที่ 1 ความรู้ทั่วไปเกี่ยวกับคอมพิวเตอร์
กลุ่มคำและประโยค ภาษาไทย ม. ๓
การลดรูป Logic Gates บทที่ 6.
บทที่ 4 การอินทิเกรต (Integration)
การศึกษาประเภทเสียงและความหมายของคำในกลุ่มภาษาต่างประเทศ
Android Programming Getting Start Prawit Pimpisan Computer Science
One Point Lesson (OPL).....บทเรียนประเด็นเดียว
Statistical Method for Computer Science
หลักการแต่ง คำประพันธ์ประเภท โคลง. หลักการแต่ง คำประพันธ์ประเภท โคลง.
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
พื้นฐานการออกแบบ กราฟิก หมายถึง ศิลปะแขนงหนึ่งซึ่งใช้การสื่อความหมาย ด้วยเส้น สัญลักษณ์ รูปวาด ภาพถ่าย กราฟ แผนภูมิ การ์ตูน ฯลฯ เพื่อให้สามารถสื่อความหมายของข้อมูลได้ถูกต้องตรง.
บริษัท พัฒนาวิชาการ (2535) จำกัด
บทที่ 9 การทำซ้ำ (Loop).
Week 5 C Programming.
ผู้ช่วยศาสตราจารย์จุฑาวุฒิ จันทรมาลี
ตัวชี้วัดที่ 5 : ระดับความสำเร็จของการดำเนินการตามมาตรการประหยัดน้ำ
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
วิชากฎหมายอาญาภาคทั่วไป (177181)
รายวิชา งานไฟฟ้าเบื้องต้นสำหรับครูอุตสาหกรรมศิลป์
การวิจัยทางการท่องเที่ยว
ไว้วางใจได้ เชื่อถือได้
Introduction to Database System
รูปนิสิต บทคัดย่อ ผลการทดลอง วัตถุประสงค์ วิธีการที่นำเสนอ บทนำ
บทที่ 4 การจำลองข้อมูลและกระบวนการ (Data and Process Modeling)
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
บทที่ 5 พัลส์เทคนิค
คำสั่งหลักที่ใช้ในการสร้างตารางของภาษา HTML มีดังนี้
กระดาษทำการ (หลักการและภาคปฏิบัติ)
ใบสำเนางานนำเสนอ:

บทที่ 3 (ต่อ) ไวยากรณ์เรกูลาร์

<noun>  <article> <noun> <article>  a ไวยากรณ์เรกูลาร์ ทุกภาษาต้องมีไวยากรณ์รองรับ ไวยากรณ์ทำหน้าที่กำหนดกฎเกณฑ์ในการสร้างภาษา <sentence>  <noun> <noun>  <article> <noun> <article>  a <article>  the <noun >  doc

ไวยากรณ์เรกูลาร์ <> คือตัวแปร(Variable) เช่น <sentence> สัญลักษณ์ที่ไม่ได้ล้อมรอบด้วยเครื่องหมาย <> เรียก เทอร์มินอล เช่น a, the, doc, cat สามารถใช้ไวยากรณ์เรกูลาร์ (Regular Grammar) อธิบายภาษาเรกูลาร์ได้อีก นอกจากใช้นิพจน์เรกูลาร์ และไฟไนต์ออโตมาตา

ไวยากรณ์เรกูลาร์ (Regular Grammar) นิยาม กำหนดให้ไวยากรณ์ G = (V,T,S,P) ไวยากรณ์ G จะเป็น เรกูลาร์เมื่อ G อยู่ในรูปอย่างใดอย่างหนึ่งต่อไปนี้ V1t1V2 (ไวยากรณ์แบบ Right-linear) V1t2 หรือ V1V2t1 (ไวยากรณ์แบบ Left-linear) V1t2 โดยที่ และ

ตัวอย่างที่ 1 ไวยากรณ์เรกูลาร์ G = (V,T,S,P)โดยที่ V = {V1,V2} T = {a,b} S = {V1} P : V1a V1 | abV2 V2a | b ไวยากรณ์นี้ถือว่าเป็นไวยากรณ์แบบ Right-linear

ตัวอย่างที่ 2 ไวยากรณ์เรกูลาร์ G = (V,T,S,P)โดยที่ V = {S} T = {a,b} S = {S} P : SabS Sa ไวยากรณ์นี้ถือว่าเป็นไวยากรณ์แบบ Right-linear และสามารถสร้างสตริงจากไวยากรณ์ G ได้หลายสตริง เช่น SabSaba SabSababSabababa สรุปภาษาของไวยากรณ์เรกูลาร์ G ได้ L(G) = (ab)*a

แบบฝึกหัด

ข้อ 1 G = (V,T,S,P)โดยที่ V = {S} T = {a,b,c} S = {S} P : SabcS Sab* ข้อ 2 G = (V,T,S,P)โดยที่ V = {S} T = {a,b} S = {S} P : SSabS Sb

การลดรูปสถานะของไฟไนต์ออโตมาตา

การลดรูปสถานะของไฟไนต์ออโตมาตา ไฟไนต์ออโตมาตาสามารถอธิบายภาษาเรกูลาร์ได้ ไฟไนต์ออโตมาตาที่ยาวซับซ้อน ทำความเข้าใจได้ยาก สามารถลดรูปไฟไนต์ออโตมาตาได้

หลักการลดรูปสถานะของไฟไนต์ออโตมาตา e d c qj qi q a b พยายามกำจัดสถานะที่ไม่ใช่สถานะเริ่มต้นและสถานะสุดท้าย ในที่นี้คือ q สร้างนิพจน์เรกูลาร์ที่ต้องใช้ในการเดินจากสถานะเริ่มต้น qi ไปยังสถานะสุดท้าย qj และจาก qj ไป qi

ตัวอย่างที่ 1 การลดรูปสถานะของไฟไนต์ออโตมาตา e d c qj qi q a b ce*b ae*d ce*d qj qi ae*b

ตัวอย่างที่ 2 การลดรูปสถานะของไฟไนต์ออโตมาตา 1 qk qi qj 1 0,1 0,10*1 10*0 qk qi 0,1

แบบฝึกหัด

จงทำการลดรูปสถานะของไฟไนต์ออโตมาตาดังต่อไปนี้ 1 1 qk qi qj 1 1 1 qk qi qj 1