Automata วิธีการตั้งค่าคำจำกัดความพื้นฐาน n แบบจำกัด วิธีการตั้งค่าออโตมาตาดิจิตอล วิธีการตั้งค่าออโตมาตาไฟไนต์และคุณสมบัติพื้นฐาน

คำจำกัดความพื้นฐานของ n A finite automaton คือระบบ M =(A, B, S, y) โดยที่ n n n А = (а 1, . . . , am) เป็นตัวอักษรที่ป้อนได้จำกัด B =(b 1, . . . , bk ) - ตัวอักษรเอาต์พุตจำกัด S =(s 1, . . . , sn) - ตัวอักษรสถานะจำกัด, : A S S - ฟังก์ชันการเปลี่ยนภาพ, y: A S B - ฟังก์ชันเอาต์พุต n หากในหุ่นยนต์ M หนึ่งสถานะถูกเลือก เรียกว่าสถานะเริ่มต้น (โดยปกติแล้วจะถือว่านี่คือ s 1) ดังนั้นหุ่นยนต์ที่เป็นผลลัพธ์จะถูกเรียกเป็นค่าเริ่มต้นและแสดงด้วย (M, s 1) มีสองวิธีในการกำหนดหุ่นยนต์: ตาราง Automaton, แผนภาพการเปลี่ยน

ตารางหุ่นยนต์ n 1) 2) 3) 4) ตัวอย่าง: ตั้งค่าหุ่นยนต์สำหรับการอ่านคำว่า "001" หากป้อนอักขระ "0" และ "1" ตัวอักษรอินพุต A=(0, 1) ตัวอักษรเอาต์พุต A=(Y, N) ตัวอักษรสถานะ S=(s 0 "" , s 1 " 0" , s 2 " 00" s 3 "001" ) ตารางอัตโนมัติในสองวิธี . 1) Rows คือสถานะของหุ่นยนต์ คอลัมน์เป็นสัญลักษณ์อินพุต ที่จุดตัดของแถวและคอลัมน์ ฟังก์ชันจะถูกระบุ y 2) S, A, y ถูกกำหนดโดยคอลัมน์ แบบฝึกหัดที่ 25 สร้างหุ่นยนต์เพื่อค้นหาคำว่า CAKADU SA 0 1 S 0 "" S 1, N S 0, N S 1 "0" S 2, N S 0, N S 2 "00" S 2, N S 3, Y S 3 "001 " S 1 , N S 0, N S ใน y S 0 0 S 1 N 1 S 0 N 0 S 2 N 1 S 3 Y 0 S 1 N 1 S 0 N S 1 S 2 S 3

ไดอะแกรมการเปลี่ยน n มัลติกราฟเชิงเชิง เรียกว่า ไดอะแกรมการเปลี่ยนกราฟ หรือกราฟที่สอดคล้องกับสถานะ ถ้า (Si, aj)=Sk, y(Si, aj)=bl จากจุดยอด Si ถึงจุดยอด Sk จะมีส่วนโค้งที่เขียน (aj, bl) n ในแต่ละจุดยอด si เงื่อนไขความถูกต้องคือ : 0 1 S 0 "" S 1, N S 0, N S 1 "0" n จุดยอด, y S 2, N S 0, N S 2 "00" S 2, N S 3, Y S 3 "001" S 1, N S 0, N 1, N เติมเต็ม 1) สำหรับตัวอักษรอินพุต aj มีส่วนโค้งออกจาก si ซึ่ง aj เขียน (เงื่อนไขความสมบูรณ์); 2) ตัวอักษร aj ใด ๆ เกิดขึ้นที่ขอบด้านเดียวเท่านั้นที่ออกจาก si (ความสม่ำเสมอหรือเงื่อนไขการกำหนด) S 0 S 1 (0, N) (1, N) (0, N) (1, N) S 2 (1, Y) S 3

ออโตมาตะและคำป้อน n สำหรับออโตมาตัน M ที่กำหนด หน้าที่ของมันคือ M และ y M สามารถกำหนดได้ไม่เฉพาะในชุด A ของตัวอักษรอินพุตทั้งหมด แต่ยังกำหนดบนชุด A* ของคำที่ป้อนทั้งหมดด้วย n สำหรับคำป้อนใด ๆ = aj 1 aj 2. . . ajk (si, aj 1 aj 2. . . ajk) = ((… (si, aj 1), aj 2), . . . , ajk-1), ajk). y (si, aj 1 aj 2. . . ajk) = y((… (si, aj 1), aj 2), . . . , ajk-1), ajk).

ตัวอย่าง: ออโตมาตะและคำที่ป้อน ตัวอย่าง: = 0101 (S 1, 0101) = ((S 1, 0), 1) (S 1, 0101) = (((S 2, 1), 0), 1) (S 1,0101) = ((S 3, 0), 1) (S 1, 0101) = (S 1, 1) (S 1, 0101) = S 0 0 1 S 0 "" S 1, N S 0, N S 1 "0" S 2, N S 0, N S 2 "00" y(S 1, 0101) = y(((S 1, 0), 1) y(S 1, 0101) = y(((S 2) , 1), 0), 1) y(S 1, 0101) = y((S 3, 0), 1) y(S 1, 0101) = y(S 1, 1) y(S 1, 0101) \u003d N, y S 2, N S 3, Y S 3 "001" S 1, N S 0, N

การทำแผนที่อัตโนมัติ n ให้เราแก้ไขสถานะเริ่มต้น S 0 ใน M ​​และสำหรับแต่ละคำที่ป้อน = a 1 a 2 . . ak เรากำหนดคำในตัวอักษรเอาต์พุต: = y (S 0, a 1) y(S 0, a 1 a 2) . . y(S 0, ก 1. . . ak). (3 a) n การโต้ตอบนี้ ซึ่งจับคู่คำที่ป้อนเข้ากับคำที่ส่งออก เรียกว่าการทำแผนที่อัตโนมัติ n หากผลลัพธ์ของการใช้ตัวดำเนินการกับคำนั้นเป็นคำที่ส่งออก สิ่งนี้จะถูกแทนด้วย M() =

ตัวอย่าง: การแมปอัตโนมัติ มากำหนดคำที่ป้อน = 0101 ให้กับคำในตัวอักษรเอาต์พุต: = y (S 0, 0) y(S 0, 01)y(S 0, 0101) y (S 0, 0)= N, y 0 S 0 "" S 1, N S 0, N S 1 "0" S 2, N S 0, N S 2 "00" S 2, N S 3, Y 1 S 3 "001 » S 1, N S 0, N y(S 0, 01) = y((S 0, 0), 1) = y(S 1, 1) = ไม่มี y(S 0, 010) = y(((S 0, 0), 1), 0) = y((S 1, 1), 0) = y(S 0, 0)=N y(S 0, 0101) = y((((S 0, 0) , 1) =y(((S 1, 1), 0), 1) = = y((S 0, 0), 1) = y(S 0, 1) = NNNN

คุณสมบัติการแสดงอัตโนมัติ 1) คำและ = M() มีความยาวเท่ากัน: | | = | | (คุณสมบัติในการรักษาความยาว); 2) ถ้า = 1 2 และ M(1 2) = 1 2 โดยที่ | 1| = | 1| จากนั้น M(1) = 1; กล่าวอีกนัยหนึ่ง รูปภาพของส่วนของความยาว i เท่ากับส่วนของภาพที่มีความยาวเท่ากัน

ประเภทของออโตมาตะ n โมเดลทั่วไปของออโตมาตัน (S-finite) ซึ่งได้รับการพิจารณาก่อนหน้านี้เรียกว่าออโตเมติกมีลี่ n หุ่นยนต์จะเรียกว่า autonomous ถ้าตัวอักษรที่ป้อนประกอบด้วยตัวอักษรหนึ่งตัว: A=(a) คำป้อนทั้งหมดของหุ่นยนต์อัตโนมัติมีรูปแบบ aa . . ก. n ออโตเมตันที่มีขอบเขตจำกัดเรียกว่า ออโตเมติกของมัวร์ หากฟังก์ชันเอาต์พุตขึ้นอยู่กับสถานะเท่านั้น เช่น สำหรับ s, ai, aj y(s, ai) = y(s, aj) ฟังก์ชั่นการส่งออกของหุ่นยนต์มัวร์นั้นเป็นข้อโต้แย้งเดียวโดยธรรมชาติ มันมักจะเขียนแทนด้วยตัวอักษรและเรียกว่าฟังก์ชันเครื่องหมาย ในกราฟของหุ่นยนต์มัวร์ ผลลัพธ์ไม่ได้เขียนไว้ที่ขอบ แต่อยู่ที่ด้านบน

Moore automata n Theorem: สำหรับหุ่นยนต์ Mealy ใด ๆ มีหุ่นยนต์ Moore ที่เทียบเท่ากัน n เมื่อศึกษาความเป็นไปได้ของออโตมาตะ ก็เพียงพอแล้วที่จะใช้ออโตมาตาของมัวร์ วิธีนี้สะดวกเพราะว่าหุ่นยนต์ของ Moore สามารถมองได้ว่าเป็นหุ่นยนต์ที่ไม่มีเอาต์พุต ซึ่งสถานะต่างๆ จะติดป้ายกำกับไว้หลายวิธี

ตัวอย่างของหุ่นยนต์อัตโนมัติ SA a S 1 S 3, 0 S 2 S 4, 0 S 3 S 4, 0 S 4 S 7, 0 S 5 S 4, 2 S 6 S 5, 0 S 7 S 6, 1 S 8 S 9, 0 S 9, 1 S S S S S A=(ก), B=(0, 1, 2), S=(S 1, S 2, S 3, S 4, S 5, S 6, S 7, เอส 8, เอส9)

สถานะแยกไม่ออก n ให้ M และ T เป็นออโตมาตาสองตัวที่มีตัวอักษรอินพุตและเอาต์พุตเหมือนกัน สถานะของออโตเมติก M และสเตท r ของออโตเมติก T นั้นแยกจากกันไม่ได้หากมีการป้อนคำ M(s,) = T(r,) n ออโตมาตา M และ T ถูกเรียกว่าแยกไม่ออก ถ้าสำหรับสถานะใดๆ ของออโตมาตัน M มีสถานะ r ของออโตมาตัน T ที่แยกไม่ออกจากมัน และในทางกลับกัน สำหรับ r จาก T ใดๆ จะมีสถานะแยกไม่ออกจาก M n สถานะแยกไม่ออกเรียกว่าเทียบเท่า

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

ลักษณะของ "งาน" ของออโตมาตะ n สองประเด็นหลักของ "งาน" ของออโตมาตะสามารถแยกแยะได้: 1) ออโตมาตะรู้จักคำที่ป้อนนั่นคือตอบคำถามว่าคำที่ป้อนให้กับอินพุตนั้นเป็นของชุดที่กำหนดหรือไม่ (เหล่านี้ เป็นตัวจำแนกอัตโนมัติ); 2) automata แปลงคำอินพุตเป็นคำเอาต์พุต เช่น ใช้การแมปออโตมาตัน (Transformer automata)

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

อัลกอริธึม n อัลกอริธึมคือใบสั่งยาที่ระบุกระบวนการแปลงข้อมูลเริ่มต้นเป็นผลลัพธ์ที่ต้องการโดยเฉพาะ n กระบวนการแปลงประกอบด้วยขั้นตอนที่ไม่ต่อเนื่องเบื้องต้น ซึ่งหลายครั้งนำไปสู่ผลลัพธ์

ประเภทของอัลกอริธึมพื้นฐาน n ทฤษฎีของอัลกอริธึมเป็น metatheory ที่ศึกษาคุณสมบัติต่างๆ (เชิงคุณภาพและเชิงปริมาณ) ของอัลกอริธึม n สำหรับการศึกษาคุณสมบัติเชิงคุณภาพ กำหนดอัลกอริธึมหลัก 3 ประเภท: 1) ฟังก์ชันแบบเรียกซ้ำ 2) เครื่องทัวริง 3) ระบบ Canonical Post และอัลกอริธึม Markov ปกติ

ฟังก์ชันเรียกซ้ำที่ง่ายที่สุด n S 1(x) = x+1 - ฟังก์ชันขึ้นอยู่กับตัวแปร x หนึ่งตัว และเท่ากับ x+1 n On(x 1…xn) =0 - ฟังก์ชันขึ้นอยู่กับตัวแปร n และเท่ากับ 0 เสมอ n Imn(x 1…xn) = xm - ฟังก์ชันขึ้นอยู่กับตัวแปร n และเท่ากับค่าของตัวแปร xm เสมอ

Primitive recursion n ฟังก์ชัน f(x 1…xn+1) ได้มาจาก primitive recursion algorithm จากฟังก์ชัน g(x 1…xn) และ h(x 1…xn+2) ถ้า f(x 1, …xn, 0) = g (x 1, …xn) (1) f(x 1, …xn, y+1) = h(z), โดยที่ z=f(x 1, …xn, y) (2) ฟังก์ชัน f เรียกว่า primitive recursive หากสามารถหาได้จากฟังก์ชันที่ง่ายที่สุด S 1, On, Imn โดยจำนวนจำกัดของการทับซ้อนและการดำเนินการเรียกซ้ำดั้งเดิม

ตัวอย่าง n เพื่อพิสูจน์ว่าฟังก์ชันเป็นแบบเรียกซ้ำดั้งเดิม: 1) ตามสมการ (1) และ (2) ให้กำหนดฟังก์ชัน g() และ h() อย่างชัดเจน 2) แสดงว่า g() และ h() เป็นฟังก์ชันที่ง่ายที่สุด S 1, On, Imn หรือฟังก์ชันเรียกซ้ำดั้งเดิมที่ได้รับการพิสูจน์แล้วก่อนหน้านี้ แบบฝึกหัดที่ 26: พิสูจน์ว่าฟังก์ชัน f(x, y) = x+y เป็นวิทยานิพนธ์แบบเรียกซ้ำดั้งเดิมของศาสนจักร: คลาสของฟังก์ชันเชิงตัวเลขที่คำนวณได้แบบอัลกอริธึมสอดคล้องกับคลาสของฟังก์ชันแบบเรียกซ้ำทั้งหมด

เครื่องทัวริง n เครื่องทัวริงประกอบด้วย: n 1) หน่วยความจำภายนอก - เทปของ n เซลล์ แต่ละเซลล์ i-th อยู่ในสถานะ ai มีการตั้งค่าตัวอักษรของรัฐ เทปสามารถไม่มีที่สิ้นสุดในทั้งสองทิศทาง สถานะที่ว่างเปล่าจะถูกละเว้น n 2) หน่วยความจำภายในของเครื่อง - อุปกรณ์อยู่ในสถานะ qi ตัวอักษรของสถานะภายในจะได้รับ สถานะเริ่มต้น q 1 สุดท้าย q 0 หรือ qz n 3) ตัวชี้ - ชี้ไปที่เซลล์ปัจจุบันและเคลื่อนที่ไปตามเทป n 4) อุปกรณ์ควบคุม - อ่านอักขระของเซลล์ที่ตัวชี้ชี้ไป ตามโปรแกรม เปลี่ยนสถานะของเซลล์และย้ายตัวชี้

สถานะและโปรแกรม MT n สถานะของเครื่องจักรทัวริงเรียกว่าคำว่า n ​​n n n a 1…ak-1 qi ak…ar เกิดขึ้นจากการแทรกสัญลักษณ์สถานะภายในที่ด้านหน้าเซลล์ที่ตรวจสอบ โปรแกรมเครื่องทัวริงคือชุดของคำสั่งที่สามารถดำเนินการโดยเครื่อง qi aj qi' aj' D โดยที่ qi คือสถานะภายในของเครื่อง aj คือสถานะของเซลล์ที่ถูกตรวจสอบ qi' คือสถานะใหม่ของเครื่องจักร aj' เป็นอักขระใหม่ที่เขียนลงในเซลล์ที่ถูกตรวจสอบ D = ( L, R, E) - อักขระที่เป็นสัญลักษณ์ของการเลื่อนของตัวชี้ไปทางซ้ายหนึ่งเซลล์ ไปทางขวา และไม่มีการเลื่อนตามลำดับ

ตัวอย่าง MT Exercise 27: ค้นหาสถานะสุดท้ายของเครื่องทัวริง ตัวอักษรเริ่มต้น: A = (0, 1) ตัวอักษรสถานะภายใน: Q = (q 0, q 1, q 2) โปรแกรม: ( 1) q 10 q 20 R, 2) q 20 q 01 E, 3) q 11 R, 4) q 21 R ) คำเริ่มต้น: q 111

ตัวอย่าง MT Control 28 ค้นหาสถานะสุดท้ายของเครื่องทัวริง ตัวอักษรเริ่มต้น: A \u003d (0, 1, ) ตัวอักษรของสถานะภายใน: Q \u003d (q 0, q 1, q 2, q 3) โปรแกรม: ( 1 ) q 1 q 00 R, 2) q 11 q 20 R, 3) q 21 R, 4) q 2 q 31 L, 5) q 30 q 00 R, 6) q 31 L) A) คำเริ่มต้น: q 111 1 B) คำเริ่มต้น: q 11 111

วิทยานิพนธ์ของทัวริง วิทยานิพนธ์ของทัวริง: สำหรับแต่ละอัลกอริธึม A เครื่องจักรทัวริงสามารถสร้างขึ้นได้ โดยให้ข้อมูลเริ่มต้นเหมือนกัน ให้ผลลัพธ์เหมือนกับอัลกอริธึม A n ถ้า 1 q 1 2 1 qz 2 เราจะบอกว่าเครื่องจักร T ประมวลผลคำ 1 2 เป็นคำ 1 2 และแสดงว่า T(1 2) = 1 2 n สัญกรณ์ T() คือการกำหนดเครื่อง T ด้วยค่าเริ่มต้น

Normal Markov Algorithms n Normal Markov Algorithms (NAM) แปลงคำที่มีความยาวจำกัดให้กลายเป็นคำอื่นโดยใช้การแทนที่ n งาน NAM Substitution Alphabet u v Final substitution u v n Control 29 มีการระบุอัลกอริธึม Markov ปกติ: Alphabet เป็นตัวอักษรของภาษารัสเซีย รูปแบบการทดแทน (I U, L U, S M, V B, R T, T R, O X, N A) n คำเริ่มต้น SLON n ค้นหาคำลงท้าย

การประมาณความซับซ้อนของอัลกอริธึม n สมมติว่าฟังก์ชัน f(n) และ g(n) วัดประสิทธิภาพของอัลกอริธึมทั้งสอง มักจะเรียกว่าฟังก์ชันความซับซ้อนของเวลา เราจะบอกว่าลำดับการเติบโตของฟังก์ชัน f(n) ไม่มากกว่าของ g(n) หากมีค่าคงที่บวก C เช่นนั้น | f(n) |

ประสิทธิภาพของอัลกอริธึม A B C D E n 3 n 2 2 n 2+4 n n 3 2 n 1 1 ms 3 ms 6 ms 2 ms 10 10 ms 300 ms 240 ms 1024 s 100 ms 30 s 20.4 ms 0.28 h 4*1017 ศตวรรษ 0.56 h 11.6 วัน 10176 ศตวรรษ 1,000 ms 0.83 h 1 ms

ทฤษฎีอัลกอริทึม n ทฤษฎีอัลกอริทึม - จำแนกปัญหาตามความซับซ้อน ในกรณีนี้ จะจัดประเภทเฉพาะงานการจดจำเท่านั้น งานการรับรู้เป็นงานที่ตอบคำถาม: ข้อมูลที่ป้อนมีคุณสมบัติบางอย่างหรือไม่ ในกรณีของเรา: ข้อมูลที่ป้อนเป็นกราฟ คุณสมบัติ - เป็นกราฟแฮมิลตันหรือไม่

คลาส P และ NP n ความซับซ้อน คลาส P: มีอัลกอริธึม A ที่แก้ปัญหาในเวลาพหุนาม n Complexity class NP - มีอัลกอริทึม A ที่ตรวจสอบโซลูชันที่เสนอในเวลาพหุนาม n ปัญหาวงจรแฮมิลตันคือการค้นหาว่ากราฟ G ที่กำหนดมีวัฏจักรแฮมิลตันเป็นของคลาส NP หรือไม่

ตัวอย่างของปัญหา NP n ปัญหาความพอใจแบบบูลีน: ค้นหาจากสูตรบูลีนที่กำหนดว่ามีชุดของตัวแปรรวมอยู่ในนั้นหรือไม่ซึ่งเปลี่ยนเป็น 1. ปัญหากลุ่ม: ค้นหาจากกราฟที่กำหนดว่ามีกลุ่มหรือไม่ (กราฟย่อยที่สมบูรณ์) ของขนาดที่กำหนดในนั้น n ปัญหาการมีอยู่ของวัฏจักรแฮมิลตันในกราฟ n การมีอยู่ของผลเฉลยจำนวนเต็มต่อระบบอสมการเชิงเส้น

ความเป็นไปได้ในการแก้ปัญหา NP โดยการแจงนับ n ในขั้นต้น ไม่ทราบวิธีแก้ไข ดังนั้น จึงเป็นเรื่องสำคัญที่ปัญหาใดๆ ที่เกี่ยวข้องกับคลาส NP สามารถแก้ไขได้ในเวลาแบบเอ็กซ์โพเนนเชียล โดยการแจงนับชุดค่าผสมที่เป็นไปได้ทั้งหมดของ n ซึ่งเกิดขึ้นในอัลกอริทึมสำหรับการค้นหาวัฏจักรแฮมิลตัน

ความสัมพันธ์ระหว่าง Р และ NP n งานใดๆ จาก P เป็นของ NP n ดังนั้น คลาส NP รวมคลาส P ไว้ด้วย ในขณะนี้ ยังไม่ทราบว่าคลาส P และ NP เหมือนกันหรือไม่ แต่ผู้เชี่ยวชาญส่วนใหญ่เชื่อว่าไม่ใช่คลาส

อัตราส่วนของ P และ NP n หากปรากฎว่า P = NP 1) งาน NP จะได้รับการแก้ไขในเวลาที่เหมาะสม 2) มีปัญหาจำนวนหนึ่งที่จงใจใช้ปัญหาของความซับซ้อนแบบทวีคูณ (เช่น สมมติว่าปัญหาไม่สามารถแก้ไขได้) ตัวอย่างเช่น ในการเข้ารหัส มีส่วนเกี่ยวกับการเข้ารหัสคีย์สาธารณะ ซึ่งแทบเป็นไปไม่ได้เลยที่จะถอดรหัส หากจู่ ๆ P = NP ความลับมากมายจะหยุดเป็นเช่นนั้น

NP-ปัญหาที่สมบูรณ์ n เหตุผลที่น่าสนใจที่สุดที่จะเชื่อว่า P ≠ NP คือการดำรงอยู่ของปัญหา NP-สมบูรณ์ n อย่างไม่เป็นทางการ!!!, ปัญหา Q ลดลงเหลือปัญหา Q′ ถ้าปัญหา Q สามารถแก้ไขได้ในเวลาพหุนามสำหรับอินพุตใด ๆ สมมติว่าการแก้ปัญหาของปัญหา Q′ สำหรับอินพุตอื่น ๆ เป็นที่รู้จัก ตัวอย่างเช่น ปัญหาการแก้สมการเชิงเส้นจะลดลงเหลือปัญหาการแก้สมการกำลังสอง

ปัญหา NP-complete ปัญหา NP-complete เป็นปัญหาจากคลาส NP ซึ่งปัญหาอื่น ๆ จากคลาส NP จะลดลง ปัญหา NP-complete เป็นส่วนย่อยของปัญหาที่ "ยากที่สุด" ในคลาส NP หากพบอัลกอริธึมโซลูชันพหุนามสำหรับปัญหาที่สมบูรณ์ของ NP ปัญหาอื่นจากคลาส NP จะสามารถแก้ไขได้ในเวลาพหุนาม n ปัญหา NP ที่ระบุไว้ทั้งหมดเป็น NP-complete รวมถึงปัญหาของวัฏจักรแฮมิลตัน


Baranov Viktor Pavlovich คณิตศาสตร์ไม่ต่อเนื่อง มาตรา 6 เครื่องจักรของรัฐและภาษาทางการ

บรรยาย 31 งานการสังเคราะห์ รถประถมและคุณ

บรรยาย 30 คำจำกัดความและวิธีการออกแบบ FINITE AUTOMAT

ปัญหาการสังเคราะห์ อัตโนมัติเบื้องต้น

แผนการบรรยาย:

1. คำจำกัดความของหุ่นยนต์ที่มีขอบเขตจำกัด

2. วิธีการกำหนดหุ่นยนต์จำกัด

  1. ปัญหาของการสังเคราะห์ออโตมาตะ
  2. เครื่องธาตุ.
  3. ปัญหาความสมบูรณ์ของเครื่องจักรพื้นฐาน
  4. วิธี Canonical สำหรับการสังเคราะห์อัตโนมัติ
  1. คำนิยามเครื่องของรัฐ

SFE ไม่ได้คำนึงถึงความจริงที่ว่าอุปกรณ์จริงทำงานทันเวลา เมื่อเปรียบเทียบกับ SFE แล้ว ไฟไนต์ออโตเมตันเป็นโมเดลตัวแปลงแบบแยกที่แม่นยำกว่าข นักพัฒนาข้อมูล ในเวลาเดียวกัน แนวคิดของ finite automaton เช่นเดียวกับรุ่นอื่นๆ คือฉัน แต่ด้วยสมมติฐานที่เข้าใจง่ายหลายประการ

ประการแรก สันนิษฐานว่าอินพุตและเอาต์พุตของออโตเมติกสามารถอยู่ในสถานะต่าง ๆ ได้จำนวนจำกัดในช่วงเวลาหนึ่งเท่านั้น ถ้าจริงข ถ้าคอนเวอร์เตอร์มีสัญญาณอินพุทแบบต่อเนื่อง เพื่ออธิบายมันโดยใช้ finite automaton จำเป็นต้องหาปริมาณสัญญาณนี้ ในคำจำกัดความอย่างเป็นทางการของออโตเมติก ชุดจำกัดของสถานะอินพุตและเอาต์พุตของออโตเมติกเรียกว่า cooรับผิดชอบในการป้อนข้อมูลและ ตัวอักษรเอาต์พุตและแต่ละรัฐตัวอักษรของ alphas และ vits เหล่านี้

ประการที่สอง สันนิษฐานว่าเวลาเปลี่ยนไปอย่างไม่ต่อเนื่อง สถานะอินพุตและเอาต์พุตสอดคล้องกับลำดับเวลาที่ไม่ต่อเนื่องข เนื่องจากช่วงเวลานั้นถูกกำหนดโดยดัชนีของมันอย่างไม่ซ้ำกัน ดังนั้นเพื่อความเรียบง่าย เราจะถือว่าเวลานั้นใช้ค่า 1, 2, ..., ... ช่วงเวลาเรียกว่าชั้นเชิง

การทำงานของเครื่องมีดังนี้

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

ให้เราให้คำจำกัดความอย่างเป็นทางการของหุ่นยนต์

เครื่องรัฐตั้งชื่อวัตถุห้าชิ้น

, (1)

ที่ไหน

ป้อนอักษร; – หนึ่งในสถานะอินพุตที่เป็นไปได้

เป็นเซตจำกัดที่เรียกว่าตัวอักษรเอาต์พุต; องค์ประกอบ คุณของชุดนี้กำหนดสถานะเอาต์พุตที่เป็นไปได้

เป็นเซตจำกัดที่เรียกว่าตัวอักษรของรัฐภายในฉันนี่;

– ฟังก์ชันการเปลี่ยนแปลงเครื่องจักร: ; ฟังก์ชันนี้กำหนดสถานะให้กับแต่ละคู่ "สถานะอินพุต"

– ฟังก์ชันเอาท์พุต เครื่องจักร: ; ฟังก์ชันนี้เชื่อมโยงแต่ละคู่ของสถานะอินพุตกับค่าเอาต์พุต

กฎการทำงานของหุ่นยนต์: หุ่นยนต์เปลี่ยนสถานะตาม t และสร้างสัญญาณเอาท์พุตตามฟังก์ชันต่อการกระทำ:

  1. วิธีกำหนดเครื่องสถานะ

1. วิธีการกำหนดตาราง เนื่องจากสำหรับฟังก์ชั่นและขอบเขตอี ค่าและค่าเป็นของชุดจำกัด จากนั้นจะระบุโดยใช้ตาราง

ตัวอย่างที่ 1 เรากำหนดหุ่นยนต์ดังนี้: , . กำหนดฟังก์ชันโดยใช้ตารางกระโดด,และฟังก์ชันกับตารางทางออก

ตารางที่ 1. ตารางกระโดด ตารางที่ 2. ตารางผลลัพธ์

ทางเข้า

สถานะ

ทางเข้า

สถานะ

หากทราบลำดับของสัญญาณที่อินพุตของออโตมาตันตารางอี ย้ายและออกโดยไม่ซ้ำกันกำหนดลำดับการส่งออก

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

| | |

รูปที่ 1 ไดอะแกรมของทรานซิชัน-เอาท์พุต

ตัวอย่าง 2 จำเป็นต้องสร้างหุ่นยนต์ที่จะทำงานได้ดังนี้เอ zom: ในแต่ละรอบ จะได้รับเลขฐานสองถัดไปของเงื่อนไขที่อินพุตของหุ่นยนต์ และใน มะเขือเทศสร้างเลขฐานสองที่สอดคล้องกันของผลรวม สำหรับสองชม. เงื่อนไขแถวที่เรามี: , .

หุ่นยนต์อยู่ในสถานะ 1 ถ้าเมื่อเพิ่มตัวเลขก่อนหน้าและ ถือพกพาและอยู่ในสถานะ 0 อย่างอื่น แผนภาพการเปลี่ยนผ่าน-ทางออกและซานะในรูป 2.

00|0 11|1 01|0

01|1 10|0

10|1 00|1 11|1

ข้าว. 2

  1. ปัญหาของการสังเคราะห์ออโตมาตะ

โดยการเปรียบเทียบกับปัญหาของการสังเคราะห์ SFE หนึ่งสามารถก่อให้เกิดปัญหาการสังเคราะห์สำหรับระบบอัตโนมัติเอ สหาย มีออโตมาตะพื้นฐานไม่จำกัดจำนวน จำเป็นต้องประกอบหุ่นยนต์ที่มีการทำงานที่กำหนดไว้ล่วงหน้า ในกรณีนี้ ปัญหาการสังเคราะห์ปะทะกัน t ที่มีปัญหาบางอย่าง

สมมติว่าคุณต้องเชื่อมต่อเอาต์พุตของออโตเมติกกับอินพุตของออโตเมติก เป็นไปได้ภายใต้เงื่อนไขว่ามิฉะนั้นเกี่ยวกับ swarm machine จะไม่เข้าใจสัญญาณที่มาจากเครื่องแรก สิ่งนี้นำไปสู่ความสับสนและ สถานการณ์ที่ไม่สามารถเชื่อมต่อได้

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

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

มาเข้ารหัสตัวอักษรสำหรับหุ่นยนต์ตามอำเภอใจกันเถอะ:

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

(2)

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

… …

ข้าว. 3

การเปลี่ยนไปใช้หุ่นยนต์โครงสร้างให้ข้อดีที่สำคัญสองประการสำหรับการสังเคราะห์อีเอสทีวา

1 . ความเข้ากันได้ของอินพุตและเอาต์พุตตั้งแต่ไบนารีและรูปแบบ. เราจะไม่ให้คำจำกัดความทั่วไปของวงจรจากโครงสร้างออโตมาตา - มันคล้ายกับ SFE

2 . ให้เราเขียนความสัมพันธ์ (2) ใน "พิกัด":

(3)

จาก (3) ได้ดังนี้กฎการทำงานของหุ่นยนต์โครงสร้างจะได้รับและ ต้นกำเนิดฟังก์ชันบูลีน.

  1. ออโตมาตะเบื้องต้น

เราคัดแยกออโตมาตาโครงสร้างที่ง่ายที่สุดและตั้งชื่อให้พวกเขา

สังเกตก่อนว่าองค์ประกอบการทำงานที่มีสถานะเดียวเท่านั้นถือเป็นหุ่นยนต์ที่ไม่มีหน่วยความจำ

มาต่อกันที่ออโตมาตะกับสองสถานะกัน ให้หุ่นยนต์มีอินพุตไบนารีหนึ่งรายการและเอาต์พุตไบนารีหนึ่งรายการสอดคล้องกับสถานะภายใน: :

ข้าว. 4.

การตั้งค่าเครื่องอัตโนมัติที่แสดงในรูปที่ 4 ระบุเฉพาะตาราง p . ก็พอการเปลี่ยนผ่าน:

ตารางที่ 3

ทางเข้า

สถานะ

แทนที่จะใส่เครื่องหมายดอกจัน คุณต้องใส่ 0 กับ 1 ซึ่งทำได้ 16 วิธี อย่างไรก็ตาม ไม่ใช่ทุกข้อที่ยอมรับได้ สมมติว่าในคอลัมน์แรกของตารางที่ 3 ทั้งสององค์ประกอบน คุณเป็นศูนย์ หุ่นยนต์ดังกล่าวเมื่ออยู่ในสถานะ 0 จะไม่ออกจากระบบอีกต่อไปนั่นคือมันจะทำงานเป็นองค์ประกอบการทำงาน การวิเคราะห์สถานการณ์ที่คล้ายคลึงกันแสดงให้เห็นว่าเพื่อให้ได้หุ่นยนต์ที่ไม่สามารถลดขนาดให้กับหุ่นยนต์ที่ไม่มีหน่วยความจำได้จำเป็นต้องมีเกี่ยวกับ เพื่อให้แน่ใจว่าแต่ละคอลัมน์ของตารางที่ 3 มีทั้งศูนย์และหนึ่ง ตารางดังกล่าวคือ ego h e ยาง

ตารางที่ 4 ตารางที่ 5

ทางเข้า

สถานะ

ทางเข้า

สถานะ

ตารางที่ 6 ตารางที่ 7

ทางเข้า

สถานะ

ทางเข้า

สถานะ

เรามีออโตมาตะที่ง่ายที่สุดเพียงสองตัวเท่านั้น เนื่องจากได้ 7 มาจาก 4 และ 6 จาก 5 โดยการผกผันของสถานะภายใน

หุ่นยนต์ที่กำหนดโดยตารางที่ 4 เรียกว่าล่าช้าหรือ -trigger :

นั่นคือเครื่องนี้ทำให้สัญญาณล่าช้าไปหนึ่งรอบ

หุ่นยนต์ที่ระบุในตารางที่ 5 เรียกว่าทริกเกอร์พร้อมอินพุตตัวนับหรือ -trigger . สถานะของหุ่นยนต์จะเปลี่ยนเป็นตรงกันข้ามหากอินพุตเป็น 1 และยังคงไม่เปลี่ยนแปลงหากอินพุตเป็น 0:

ให้ในเวลาเริ่มต้น- ทริกเกอร์อยู่ในสถานะ 0 หากอยู่ใน nอี ซึ่งจุดในเวลา- ทริกเกอร์อยู่ในสถานะ 0 ซึ่งหมายความว่าได้รับจำนวนคู่ที่อินพุตของหุ่นยนต์ ถ้าอยู่ในสถานะ 1 ก็คี่ อาร์และซอมบี้ - ทริกเกอร์นับจำนวนหน่วยที่อินพุต แต่เนื่องจากมีเพียงสองสถานะฉัน niya แล้วนับถึงสอง

เมื่อทริกเกอร์ถูกใช้งานจริง สองเอาต์พุตจะถูกใช้:ตรงและกลับด้าน (รูปที่ 5). ถ้าเราสลับกันก็- ทริกเกอร์ คุณจะได้รับหุ่นยนต์ที่ระบุโดยตารางที่ 7 และจาก- ทริกเกอร์ - หุ่นยนต์ที่ระบุโดยตารางที่ 6

ข้าว. 5.

  1. ปัญหาความสมบูรณ์ของฐานหุ่นยนต์

ชุดของออโตมาตาโครงสร้างเรียกว่าสมบูรณ์ (หรือออโตมาตันbเอ zisom) หากเป็นไปได้ที่จะสร้างหุ่นยนต์โครงสร้างที่กำหนดไว้ล่วงหน้าจากพวกเขา

ความพยายามของนักคณิตศาสตร์ในการได้มาซึ่งความคล้ายคลึงของทฤษฎีบทของ Post สำหรับออโตมาตานั้นไม่เพิ่มขึ้นน ประสบความสำเร็จ ในปี พ.ศ. 2507 M.I. พิสูจน์โดยสังเขปว่าไม่มีอัลกอริธึมสำหรับกำหนดอี ความสมบูรณ์ของระบบ ในกรณีนี้ ตัวแปรของทฤษฎีบทความสมบูรณ์พร้อมสมมติฐานเพิ่มเติมเกี่ยวกับระบบเป็นที่สนใจ ลองพิจารณาความนิยมสูงสุดของพวกเขา

ทฤษฎีบท. ระบบอัตโนมัติ,ที่มี PV ครบชุดและ -ทริกเกอร์ (หรือ -trigger) เสร็จสมบูรณ์

การพิสูจน์. พิจารณาหุ่นยนต์ตามอำเภอใจที่ได้รับจากความสัมพันธ์อี (2) และอธิบายโครงร่างของออโตมาตะที่ระบุเรียกว่าโครงสร้างบัญญัติ(รูปที่ 6) .

โครงการประกอบด้วยสองส่วน

ข้าว. 6.

ครึ่งซ้ายเรียกว่าส่วนหน่วยความจำ ประกอบด้วยทริกเกอร์ ชุดของสถานะที่สร้างสถานะของหุ่นยนต์: ถ้าในช่วงเวลา

, …,

ก็หมายความว่าหุ่นยนต์อยู่ในสถานะ

ครึ่งขวาเรียกว่าส่วนผสมและเป็นตัวแทนของ SFE อินพุตของวงจรนี้คือ:

  1. คำไบนารี - สัญญาณอินพุตของหุ่นยนต์;
  2. คำไบนารีคือสถานะภายในปัจจุบันของหุ่นยนต์

ผลลัพธ์:

  1. คำไบนารี - สัญญาณเอาต์พุตของหุ่นยนต์ซึ่งถูกใช้งาน t ตามสูตร (3);
  2. คำไบนารีที่ป้อนอินพุตของทริกเกอร์ในหน่วยความจำเอ ส่วนปัจจุบันและควบคุมหน่วยความจำของเครื่อง

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

ในแต่ละช่วงเวลา สัญญาณควบคุมหน่วยความจำต้องแปล aใน มะเขือเทศจากรัฐหนึ่งไปอีกรัฐหนึ่ง ในการทำเช่นนี้ คุณต้องเปลี่ยนสถานะของทริกเกอร์แต่ละตัว

, .

-triggers หรือ -triggers ที่ใช้ในรูปแบบบัญญัติมีดังต่อไปนี้อี คุณสมบัติถัดไป: สำหรับคู่ของรัฐใด ๆ มีสัญญาณอินพุตอี เครื่องขับจากรัฐหนึ่งไปยังอีกรัฐหนึ่ง แสดงว่าสัญญาณนี้โดย สำหรับ -trigger เนื่องจากสถานะที่ -trigger ถูกตั้งค่าเท่ากับสัญญาณอินพุต สำหรับ -trigger: เมื่อคุณต้องการป้อน nเกี่ยวกับ ให้ 0 เพื่อให้สถานะไม่เปลี่ยนแปลง ที่ -1 เพื่อพลิกทริกเกอร์

ดังนั้น หรือในรูปเวกเตอร์

ให้เราแสดงจากกฎการทำงานของหุ่นยนต์ (2) แล้ว

ทฤษฎีบทได้รับการพิสูจน์แล้ว

  1. วิธี Canonical สำหรับการสังเคราะห์อัตโนมัติ

ลองพิจารณาวิธีนี้ในตัวอย่างที่เป็นรูปธรรม

ตัวอย่าง. บนสายพานลำเลียงซึ่งส่วนต่าง ๆ ของสองประเภทเคลื่อนที่และติดตั้งใน เครื่องแฟลกซ์ซึ่งมีหน้าที่คัดแยกชิ้นส่วนในลักษณะที่ผ่านไปแล้วอี ผ่านเครื่องก็รวมกลุ่มกัน ชิ้นส่วนเครื่องจักรไม่ถูกต้อง l พยักหน้าจากสายการประกอบ จำเป็นต้องสร้างวงจรของหุ่นยนต์ดังกล่าวโดยใช้ทริกเกอร์และองค์ประกอบ "AND", "OR", "NOT"

การสังเคราะห์หุ่นยนต์แบ่งออกเป็นขั้นตอนต่อไปนี้

1 . การสร้างหุ่นยนต์นามธรรม

ตัวอักษรอินพุตคือ ตัวอักษรเอาต์พุตคือ โดยที่ C - การชนกันของชิ้นส่วน P คือทางผ่านของเธอ สถานะภายในของหุ่นยนต์สะท้อนถึงหน่วยความจำซึ่งเป็นส่วนหนึ่งของกลุ่มที่ก่อตัวขึ้นแล้ว: . เมื่อกลุ่มก่อตัวขึ้น หุ่นยนต์จะเคลื่อนที่เป็นวงกลมผ่านสถานะเหล่านี้โดยไม่เปลี่ยนสถานะเมื่อมีชิ้นส่วนที่ไม่เหมาะสมมาถึง ไดอะแกรมทรานซิชัน-เอาท์พุตแสดงในรูปที่ 7.

| | |

ข้าว. 7.

2 . การเข้ารหัสตัวอักษร

หนึ่งในตัวเลือกการเข้ารหัสที่เป็นไปได้มีดังต่อไปนี้อี โต๊ะเป่า

สถานะเอาต์พุตอินพุต

3 . การสร้างโครงสร้างตามรูปแบบบัญญัติของหุ่นยนต์

โครงสร้างแบบบัญญัติของหุ่นยนต์ที่กำลังพัฒนาแสดงในรูปที่ แปด.

ข้าว. แปด.

ให้เราค้นหาการพึ่งพาของผลลัพธ์ SFE กับตัวแปรก่อนในรูปแบบตาราง (ตารางที่ 8) ตาม kเกี่ยวกับ ซึ่งต่อมาเราจะสร้างสูตร

, .

ตารางที่ 8

ฟังก์ชันเหล่านี้เรียกว่ากำหนดไว้บางส่วนเนื่องจากไม่ได้กำหนดไว้ที่ เพื่อแสดงฟังก์ชันเหล่านี้ตามสูตร ฟังก์ชันเหล่านี้จะขยายออกไปเพื่อให้ได้รับรูปแบบสูตรที่ง่ายกว่า

4 . การแสดงฟังก์ชันเอาต์พุตอัตโนมัติและฟังก์ชันการจัดการหน่วยความจำ r ล่อ

ใช้วิธีการย่อฟังก์ชันบูลีนให้เล็กที่สุดถ้าเป็นไปได้ ekเกี่ยวกับ การแสดงฟังก์ชันเล็กน้อย สูตรในพื้นฐาน:

5 . การใช้งาน SFE และโครงร่างสุดท้ายของหุ่นยนต์ (รูปที่ 9)

ข้าว. เก้า.

SFE

SFE

ไม่

หรือ

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

เครื่องรัฐเรียกว่าระบบ Y, Q> โดยที่ X และ Y เป็นตัวอักษรอินพุตและเอาต์พุตแบบจำกัด Q คือชุดของสถานะภายในที่จำกัด Y (x, q) - ฟังก์ชันการเปลี่ยนและคิว (x,q) - ฟังก์ชันเอาต์พุต

ตามที่ระบุไว้ก่อนหน้านี้ Y (x,q)ระบุลำดับการเปลี่ยนแปลงของสัญลักษณ์อินพุตและสถานะของหุ่นยนต์ในรอบก่อนหน้าเป็นสถานะถัดไป a Q (x,q) -การแปลงสัญลักษณ์อินพุตและสถานะของหุ่นยนต์ที่รอบปัจจุบันเป็นสัญลักษณ์เอาต์พุต ถ้า q 0 คือสถานะเริ่มต้นของหุ่นยนต์และ ฉัน- วัดจำนวน จากนั้นระบบจะอธิบายการทำงานของมัน:

อัตราส่วนเหล่านี้เรียกว่า ระบบสมการบัญญัติหุ่นยนต์ จำกัด คุณสามารถใช้พวกเขาจาก คิว 0 ,ค้นหาสถานะที่ตามมาทั้งหมดของหุ่นยนต์และสัญลักษณ์เอาต์พุตตามลำดับ

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

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

ที่ วิธีตารางฟังก์ชันออโตมาตันถูกกำหนดโดยตารางจำกัดสองตาราง ตั้งชื่อตามลำดับ เมทริกซ์การเปลี่ยนแปลงและ เมทริกซ์เอาต์พุตในตารางเหล่านี้ แถวจะแสดงด้วยตัวอักษรของตัวอักษรที่ป้อน และคอลัมน์จะแสดงด้วยตัวอักษรของตัวอักษรภายใน (สัญลักษณ์ที่เข้ารหัสสถานะภายในของหุ่นยนต์) ในเมทริกซ์การเปลี่ยนแปลงที่จุดตัดของแถว (เอ็กซ์เค)และคอลัมน์ (คิวอาร์)ค่าของฟังก์ชัน Y ถูกวางไว้ ( คิว r, x k)เอ ในเมทริกซ์ของเอาต์พุต - ค่าของฟังก์ชันQ (q r , x k).

Baranov Viktor Pavlovich คณิตศาสตร์ไม่ต่อเนื่อง หมวดที่ 6 ออโตมาตะและภาษาที่เป็นทางการ

บรรยาย 31 งานการสังเคราะห์ ออโตมาตะเบื้องต้น

บรรยาย 30

ปัญหาการสังเคราะห์ อัตโนมัติเบื้องต้น

แผนการบรรยาย:

1. คำจำกัดความของหุ่นยนต์ที่มีขอบเขตจำกัด

2. วิธีการกำหนดหุ่นยนต์จำกัด

  1. ปัญหาของการสังเคราะห์ออโตมาตะ
  2. เครื่องธาตุ.
  3. ปัญหาความสมบูรณ์ของเครื่องจักรพื้นฐาน
  4. วิธี Canonical สำหรับการสังเคราะห์อัตโนมัติ
  1. คำนิยามเครื่องของรัฐ

SFE ไม่ได้คำนึงถึงความจริงที่ว่าอุปกรณ์จริงทำงานทันเวลา เมื่อเปรียบเทียบกับ SFE แล้ว finite automaton เป็นแบบจำลองที่แม่นยำกว่าของตัวแปลงข้อมูลแบบแยกส่วน ในเวลาเดียวกัน แนวความคิดของหุ่นยนต์จำกัด เหมือนกับรุ่นอื่นๆ มีความเกี่ยวข้องกับข้อสันนิษฐานที่ทำให้เข้าใจง่ายจำนวนหนึ่ง

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

ประการที่สอง สันนิษฐานว่าเวลาเปลี่ยนไปอย่างไม่ต่อเนื่อง สถานะอินพุตและเอาต์พุตสอดคล้องกับลำดับเวลาที่ไม่ต่อเนื่อง เนื่องจากช่วงเวลานั้นถูกกำหนดโดยดัชนีอย่างเฉพาะตัว เพื่อความเรียบง่าย เราจะถือว่าเวลานั้นใช้ค่า 1, 2, ..., ... ช่วงเวลาเรียกว่าชั้นเชิง

การทำงานของเครื่องมีดังนี้

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

ให้เราให้คำจำกัดความอย่างเป็นทางการของหุ่นยนต์

เครื่องของรัฐคือชุดของวัตถุห้าชิ้น

เป็นเซตจำกัดที่เรียกว่าอักษรป้อนเข้า – หนึ่งในสถานะอินพุตที่เป็นไปได้

เป็นเซตจำกัดที่เรียกว่าอักษรส่งออก องค์ประกอบของชุดนี้กำหนดสถานะการส่งออกที่เป็นไปได้

เป็นเซตจำกัดที่เรียกว่าอักษรของรัฐภายใน

– ฟังก์ชั่นการเปลี่ยนอัตโนมัติ: ; ฟังก์ชันนี้กำหนดสถานะให้กับแต่ละคู่ "สถานะอินพุต"

– ฟังก์ชันของเอาท์พุตเครื่อง: ; ฟังก์ชันนี้เชื่อมโยงแต่ละคู่ของสถานะอินพุตกับค่าเอาต์พุต

กฎการทำงานของหุ่นยนต์: หุ่นยนต์เปลี่ยนสถานะตามฟังก์ชันและสร้างสัญญาณเอาท์พุตตามฟังก์ชัน:

  1. วิธีกำหนดเครื่องสถานะ

1. วิธีการตั้งค่าแบบตาราง เนื่องจากสำหรับฟังก์ชันทั้งขอบเขตและค่าเป็นของชุดจำกัด จึงกำหนดโดยใช้ตาราง

ตัวอย่างที่ 1 เรากำหนดหุ่นยนต์ดังนี้: , .เรากำหนดฟังก์ชันโดยใช้ตารางการเปลี่ยนแปลง และฟังก์ชัน - โดยใช้ตารางผลลัพธ์

ตารางที่ 1. ตารางกระโดด ตารางที่ 2. ตารางผลลัพธ์

สถานะ

สถานะ

หากทราบลำดับของสัญญาณที่อินพุตของออโตมาตัน ลำดับเอาต์พุตจะถูกกำหนดโดยตารางทรานซิชันและเอาต์พุตโดยเฉพาะ

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

รูปที่ 1 ไดอะแกรมของทรานซิชัน-เอาท์พุต

ตัวอย่างที่ 2 จำเป็นต้องสร้างหุ่นยนต์ที่ทำงานดังนี้: ในแต่ละรอบ จะได้รับเลขฐานสองถัดไปของเงื่อนไขที่อินพุตของหุ่นยนต์ หุ่นยนต์จะสร้างเลขฐานสองที่สอดคล้องกันของผลรวม สำหรับเงื่อนไขสองหลัก เรามี: , .

หุ่นยนต์จะอยู่ในสถานะ 1 หากมีการพกพาเกิดขึ้นระหว่างการเพิ่มตัวเลขก่อนหน้า และอยู่ในสถานะ 0 มิฉะนั้น ไดอะแกรมทรานซิชัน-เอาท์พุตแสดงในรูปที่ 2.

  1. ปัญหาของการสังเคราะห์ออโตมาตะ

โดยการเปรียบเทียบกับปัญหาการสังเคราะห์ SFE เราสามารถสร้างปัญหาการสังเคราะห์สำหรับออโตมาตะได้ มีออโตมาตะพื้นฐานไม่จำกัดจำนวน จำเป็นต้องประกอบหุ่นยนต์ที่มีการทำงานที่กำหนดไว้ล่วงหน้า ในเวลาเดียวกัน งานสังเคราะห์ประสบปัญหาบางอย่าง

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

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

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

มาเข้ารหัสตัวอักษรสำหรับหุ่นยนต์ตามอำเภอใจกันเถอะ:

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

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

การเปลี่ยนไปใช้หุ่นยนต์โครงสร้างให้ข้อดีที่สำคัญสองประการสำหรับการสังเคราะห์

1. ความเข้ากันได้ของอินพุตและเอาต์พุต เนื่องจากข้อมูลไบนารีถูกส่งผ่าน เราจะไม่ให้คำจำกัดความทั่วไปของวงจรจากโครงสร้างออโตมาตา - มันคล้ายกับ SFE

2. มาเขียนความสัมพันธ์ (2) ใน "พิกัด":

ตามมาจาก (3) ว่ากฎการทำงานของกลไกโครงสร้างอัตโนมัติถูกกำหนดโดยระบบฟังก์ชันบูลีน

  1. ออโตมาตะเบื้องต้น

เราคัดแยกออโตมาตาโครงสร้างที่ง่ายที่สุดและตั้งชื่อให้พวกเขา

สังเกตก่อนว่าองค์ประกอบการทำงานที่มีสถานะเดียวเท่านั้นถือเป็นหุ่นยนต์ที่ไม่มีหน่วยความจำ

มาต่อกันที่ออโตมาตะกับสองสถานะกัน ให้หุ่นยนต์มีอินพุตไบนารีหนึ่งรายการและเอาต์พุตไบนารีหนึ่งรายการสอดคล้องกับสถานะภายใน: :

การตั้งค่าเครื่องอัตโนมัติที่แสดงในรูปที่ 4 ก็เพียงพอที่จะตั้งค่าเฉพาะตารางการเปลี่ยนแปลง:

ตารางที่ 3

สถานะ

แทนที่จะใส่เครื่องหมายดอกจัน คุณต้องใส่ 0 กับ 1 ซึ่งทำได้ 16 วิธี อย่างไรก็ตาม ไม่ใช่ทุกข้อที่ยอมรับได้ สมมติว่าในคอลัมน์แรกของตารางที่ 3 องค์ประกอบทั้งสองเป็นศูนย์ หุ่นยนต์ดังกล่าวเมื่ออยู่ในสถานะ 0 จะไม่ออกจากระบบอีกต่อไปนั่นคือมันจะทำงานเป็นองค์ประกอบการทำงาน การวิเคราะห์สถานการณ์ที่คล้ายคลึงกันแสดงให้เห็นว่าเพื่อให้ได้หุ่นยนต์ที่ไม่สามารถลดขนาดให้กับหุ่นยนต์ที่ไม่มีหน่วยความจำได้ จำเป็นต้องให้ทั้งศูนย์และหนึ่งเกิดขึ้นในแต่ละคอลัมน์ของตารางที่ 3 มีเพียงสี่ตารางดังกล่าว

ตารางที่ 4 ตารางที่ 5

สถานะ

สถานะ

ตารางที่ 6 ตารางที่ 7

สถานะ

สถานะ

เรามีออโตมาตะที่ง่ายที่สุดเพียงสองตัวเท่านั้น เนื่องจากได้ 7 มาจาก 4 และ 6 จาก 5 โดยการผกผันของสถานะภายใน

หุ่นยนต์ที่กำหนดโดยตารางที่ 4 เรียกว่าการหน่วงเวลาหรือ - ทริกเกอร์:

นั่นคือเครื่องนี้ทำให้สัญญาณล่าช้าไปหนึ่งรอบ

หุ่นยนต์ที่ระบุโดยตารางที่ 5 เรียกว่าทริกเกอร์ที่มีอินพุตการนับหรือทริกเกอร์ สถานะของหุ่นยนต์จะเปลี่ยนเป็นตรงกันข้ามหากอินพุตเป็น 1 และยังคงไม่เปลี่ยนแปลงหากอินพุตเป็น 0:

ปล่อยให้ -trigger อยู่ในสถานะ 0 ในช่วงเวลาเริ่มต้น หาก ณ เวลาใดเวลาหนึ่ง -trigger อยู่ในสถานะ 0 แสดงว่าได้รับเลขคู่ 1 วินาทีที่อินพุตของหุ่นยนต์ ถ้าอยู่ในสถานะ 1 ก็คี่ ดังนั้น -trigger จะนับจำนวนหน่วยที่อินพุต แต่เนื่องจากมีเพียงสองสถานะ จึงนับได้ถึงสอง

ในการใช้งานทริกเกอร์ทางกายภาพจะใช้เอาต์พุตสองแบบ: แบบตรงและแบบผกผัน (รูปที่ 5) หากเราสลับพวกมัน จาก -trigger เราจะได้ออโตมาตันที่ระบุในตารางที่ 7 และจาก -trigger - ออโตมาตันที่ระบุในตารางที่ 6

  1. ปัญหาความสมบูรณ์ของฐานหุ่นยนต์

ชุดของออโตมาตาโครงสร้างเรียกว่าสมบูรณ์ (หรือพื้นฐานออโตเมติก) หากสามารถสร้างออโตมาตันโครงสร้างที่กำหนดได้

นักคณิตศาสตร์พยายามหาอะนาล็อกของทฤษฎีบทของ Post สำหรับออโตมาตาไม่สำเร็จ ในปี พ.ศ. 2507 M.I. พิสูจน์โดยสังเขปเกี่ยวกับการไม่มีอัลกอริธึมในการพิจารณาความสมบูรณ์ของระบบ ในกรณีนี้ ตัวแปรของทฤษฎีบทความสมบูรณ์พร้อมสมมติฐานเพิ่มเติมเกี่ยวกับระบบเป็นที่สนใจ ลองพิจารณาความนิยมสูงสุดของพวกเขา

ทฤษฎีบท. ระบบออโตมาตะที่มีชุด FE และ -trigger (หรือ -trigger) ครบชุดเสร็จสมบูรณ์

การพิสูจน์. พิจารณาหุ่นยนต์ตามอำเภอใจที่ได้รับจากความสัมพันธ์ (2) และอธิบายโครงร่างของออโตมาตาที่ระบุซึ่งเรียกว่าโครงสร้างบัญญัติ (รูปที่ 6)

โครงการประกอบด้วยสองส่วน

ครึ่งซ้ายเรียกว่าส่วนหน่วยความจำ ประกอบด้วยทริกเกอร์ ชุดของสถานะที่สร้างสถานะของหุ่นยนต์: ถ้าในช่วงเวลา

ก็หมายความว่าหุ่นยนต์อยู่ในสถานะ

ครึ่งขวาเรียกว่าส่วนผสมและเป็นตัวแทนของ SFE อินพุตของวงจรนี้คือ:

  1. คำไบนารี - สัญญาณอินพุตของหุ่นยนต์;
  2. คำไบนารีคือสถานะภายในปัจจุบันของหุ่นยนต์
  1. คำไบนารี - สัญญาณเอาต์พุตของหุ่นยนต์ซึ่งดำเนินการตามสูตร (3);
  2. คำไบนารีที่ป้อนอินพุตของทริกเกอร์ในส่วนการจัดเก็บและควบคุมหน่วยความจำของหุ่นยนต์

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

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

-triggers หรือ -triggers ที่ใช้ในรูปแบบบัญญัติมีคุณสมบัติดังต่อไปนี้: สำหรับคู่ของรัฐใด ๆ มีสัญญาณอินพุตที่ถ่ายโอนหุ่นยนต์จากสถานะหนึ่งไปอีกสถานะหนึ่ง แสดงว่าสัญญาณนี้โดย สำหรับ -trigger เนื่องจากสถานะที่ -trigger ถูกตั้งค่าเท่ากับสัญญาณอินพุต สำหรับ -trigger: เมื่อต้องใช้ 0 กับอินพุตเพื่อไม่ให้สถานะเปลี่ยนแปลง ที่ -1 เพื่อพลิกทริกเกอร์

ดังนั้น หรือในรูปเวกเตอร์

ให้เราแสดงจากกฎการทำงานของหุ่นยนต์ (2) แล้ว

ทฤษฎีบทได้รับการพิสูจน์แล้ว

  1. วิธี Canonical สำหรับการสังเคราะห์อัตโนมัติ

ลองพิจารณาวิธีนี้ในตัวอย่างที่เป็นรูปธรรม

ตัวอย่าง. บนสายพานลำเลียงซึ่งชิ้นส่วนของสองประเภทเคลื่อนที่และติดตั้งเครื่องจักรอัตโนมัติซึ่งมีหน้าที่จัดเรียงชิ้นส่วนในลักษณะที่หลังจากผ่านเครื่องแล้วจะรวมกันเป็นกลุ่ม เครื่องดันส่วนที่ไม่เหมาะสมออกจากสายพานลำเลียง จำเป็นต้องสร้างวงจรของหุ่นยนต์ดังกล่าวโดยใช้ทริกเกอร์และองค์ประกอบ "AND", "OR", "NOT"

การสังเคราะห์หุ่นยนต์แบ่งออกเป็นขั้นตอนต่อไปนี้

1. การสร้างหุ่นยนต์นามธรรม

ตัวอักษรอินพุตคือ . ตัวอักษรเอาต์พุตคือ โดยที่ C คือการชนกันของชิ้นส่วน P คือการข้าม สถานะภายในของหุ่นยนต์สะท้อนถึงหน่วยความจำซึ่งเป็นส่วนหนึ่งของกลุ่มที่ก่อตัวขึ้นแล้ว: . เมื่อกลุ่มก่อตัวขึ้น หุ่นยนต์จะเคลื่อนที่เป็นวงกลมผ่านสถานะเหล่านี้โดยไม่เปลี่ยนสถานะเมื่อมีชิ้นส่วนที่ไม่เหมาะสมมาถึง ไดอะแกรมทรานซิชัน-เอาท์พุตแสดงในรูปที่ 7.

2. การเข้ารหัสตัวอักษร

หนึ่งในตัวเลือกการเข้ารหัสที่เป็นไปได้จะแสดงในตารางต่อไปนี้

สถานะเอาต์พุตอินพุต

3. การสร้างโครงสร้างบัญญัติของหุ่นยนต์

โครงสร้างแบบบัญญัติของหุ่นยนต์ที่กำลังพัฒนาแสดงในรูปที่ แปด.

ให้เราค้นหาการพึ่งพาของผลลัพธ์ SFE ของตัวแปรก่อนในรูปแบบตาราง (ตารางที่ 8) ตามที่เราจะสร้างสูตรต่อไป

ตารางที่ 8

ฟังก์ชันเหล่านี้เรียกว่ามีการกำหนดบางส่วนเนื่องจากไม่ได้กำหนดไว้ เพื่อแสดงฟังก์ชันเหล่านี้ตามสูตร ฟังก์ชันเหล่านี้จะขยายออกไปเพื่อให้ได้รับรูปแบบสูตรที่ง่ายกว่า

4. การแสดงฟังก์ชันเอาต์พุตอัตโนมัติและฟังก์ชันควบคุมหน่วยความจำตามสูตร

การใช้วิธีการย่อขนาดฟังก์ชันบูลีน เราสร้างการแสดงฟังก์ชันที่ประหยัด หากเป็นไปได้ โดยใช้สูตรในพื้นฐาน:

5. การใช้งาน SFE และโครงร่างสุดท้ายของหุ่นยนต์ (รูปที่ 9)

คำจำกัดความและวิธีการออกแบบ FINITE AUTOMAT ปัญหาการสังเคราะห์ อัตโนมัติเบื้องต้น

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

บนช่องสัญญาณเข้าได้ตลอดเวลา t =1, 2, ... ไปยังอุปกรณ์ เอ็ม สัญญาณอินพุตมาถึง (จากชุดสัญญาณที่แน่นอน) กฎแห่งรัฐจะเปลี่ยนเป็นช่วงเวลาถัดไปขึ้นอยู่กับสัญญาณอินพุตและสถานะของอุปกรณ์ในช่วงเวลาปัจจุบัน สัญญาณเอาท์พุตขึ้นอยู่กับสถานะและสัญญาณอินพุต ณ เวลาปัจจุบัน (รูปที่ 1)

เครื่องสถานะเป็นแบบจำลองทางคณิตศาสตร์ของอุปกรณ์ประมวลผลข้อมูลแบบแยกส่วนจริง

เครื่องรัฐ เรียกว่าระบบ A= (X , คิว , Y , , ), ที่ไหน X , คิว , Y เป็นเซตจำกัดไม่ว่างตามอำเภอใจและ และ - หน้าที่ซึ่ง:

    พวงของ X ={เอ 1 , ..., เอ ) ถูกเรียก ป้อนอักษร และองค์ประกอบคือ สัญญาณเข้า , ลำดับของพวกเขาอยู่ใน วลี ;

    พวงของ คิว ={q 1 , ..., q ) ถูกเรียก หลายรัฐ หุ่นยนต์และองค์ประกอบ - รัฐ ;

    พวงของ Y ={ 1 , ..., พี ) ถูกเรียก ตัวอักษรเอาต์พุต , องค์ประกอบของมันคือ สัญญาณเอาท์พุต , ลำดับของพวกเขาคือ คำที่ส่งออก ;

    การทำงาน : X คิว คิว เรียกว่า ฟังก์ชันการเปลี่ยนแปลง ;

    การทำงาน :X คิว Y เรียกว่า ฟังก์ชันเอาต์พุต .

ดังนั้น, (x , q )คิว , (x , q )Y สำหรับ  x X , q คิว .

อุปกรณ์จินตภาพเชื่อมโยงกับเครื่องสถานะซึ่งทำงานดังนี้ สามารถอยู่ในสถานะจากชุด คิว , รับสัญญาณจากชุด X และออกสัญญาณจากเซต Y .

2. วิธีการกำหนดหุ่นยนต์จำกัด

มีวิธีที่เทียบเท่ากันหลายวิธีในการกำหนดออโตมาตานามธรรม ซึ่งสามวิธีคือ: ตาราง , เรขาคณิต และ การทำงาน .

2.1. การกำหนดตารางของเครื่อง

มันตามมาจากคำจำกัดความของหุ่นยนต์ที่สามารถกำหนดได้โดยตารางที่มีสองอินพุตที่ประกอบด้วย t เส้นและ พี คอลัมน์ที่จุดตัดของคอลัมน์ q และเส้น เอ ค่าฟังก์ชันมีค่า (เอ ฉัน , q เจ ), (เอ ฉัน , q เจ ).

q

เอ

q 1

q เจ

q

เอ 1

(เอ 1 , q 1), (เอ 1 , q 1)

(เอ 1 , q เจ ), (เอ 1 , q เจ )

(เอ 1 , q ), (เอ 1 , q )

เอ ฉัน

(เอ ฉัน , q 1), (เอ ฉัน , q 1)

(เอ ฉัน , q เจ ), (เอ ฉัน , q เจ )

(เอ ฉัน , q ), (เอ ฉัน , q )

เอ

(เอ , q 1), (เอ , q 1)

(เอ , q เจ ), (เอ , q เจ )

(เอ , q ), (เอ , q )

2.2. การกำหนดหุ่นยนต์โดยแผนภาพมัวร์

อีกวิธีหนึ่งในการระบุเครื่องสถานะจำกัดคือการใช้กราฟ นั่นคือ การใช้กราฟ หุ่นยนต์จะแสดงเป็นกราฟกำกับที่มีป้ายกำกับ จี(คิว , ดี ) ที่มีจุดยอดมากมาย คิว และอีกหลายโค้ง ดี ={(q เจ , (เอ ฉัน , q เจ ))| q เจ คิว , เอ ฉัน X ) ในขณะที่ส่วนโค้ง ( q เจ , (เอ ฉัน , q เจ )) มีป้ายกำกับเป็นคู่ ( เอ ฉัน , (เอ ฉัน , q เจ )). ดังนั้นด้วยวิธีนี้สถานะของหุ่นยนต์จะถูกวาดด้วยวงกลมซึ่งมีการป้อนสัญลักษณ์ของรัฐ q เจ (เจ = 1, …, ). จากแต่ละวงกลมจะดำเนินการ t ลูกศร (ตรงขอบ) หนึ่งต่อหนึ่งที่สอดคล้องกับตัวอักษรของตัวอักษรที่ป้อน X ={เอ 1 , ..., เอ ). ลูกศรที่ตรงกับตัวอักษร เอ ฉัน X และออกจากวงกลม q เจ คิว , คู่ ( เอ ฉัน , (เอ ฉัน , q เจ )) และลูกศรนี้นำไปสู่วงกลมที่สอดคล้องกับ (เอ ฉัน , q เจ ).

รูปวาดที่ได้จะเรียกว่า กราฟอัตโนมัติ หรือ, แผนภาพมัวร์ . สำหรับออโตมาตะที่ไม่ซับซ้อนมาก วิธีการนี้มีตัวอย่างมากกว่า ตาราง