คำถามติดแท็ก algorithms

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

5
อัลกอริทึมที่เร็วขึ้นหมายถึงอะไรในวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎี
หากมีอัลกอริทึมทำงานในเวลาสำหรับปัญหาบางอย่าง A และบางคนเกิดอัลกอริธึมที่ทำงานในเวลาโดยที่g (n) = o (f (n))ถือว่าเป็นการปรับปรุงขั้นตอนวิธีก่อนหน้าหรือไม่?O(f(n))O(f(n))O(f(n))O(f(n)/g(n))O(f(n)/g(n))O(f(n)/g(n))g(n)=o(f(n))g(n)=o(f(n))g(n) = o(f(n)) ในแง่ของวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีแล้วมันสมเหตุสมผลหรือไม่ที่จะเกิดอัลกอริธึมแบบนี้ขึ้นมา?
18 algorithms 

3
ทำไมไม่มีอัลกอริธึมประมาณสำหรับ SAT และปัญหาการตัดสินใจอื่น ๆ
ฉันมีปัญหาในการตัดสินใจ NP-complete จากตัวอย่างของปัญหาฉันต้องการออกแบบอัลกอริทึมที่ให้ผลลัพธ์ YES ถ้าปัญหาเป็นไปได้และไม่เช่นนั้น (แน่นอนว่าหากอัลกอริทึมไม่เหมาะสมจะทำให้เกิดข้อผิดพลาด) ฉันไม่พบอัลกอริทึมการประมาณค่าใด ๆ สำหรับปัญหาดังกล่าว ฉันกำลังมองหา SAT โดยเฉพาะและฉันพบในหน้า Wikipedia เกี่ยวกับอัลกอริทึมการประมาณค่าต่อไปนี้: ข้อ จำกัด อีกประการของวิธีการคือใช้กับปัญหาการปรับให้เหมาะสมเท่านั้นและไม่ใช่ปัญหาการตัดสินใจที่ "บริสุทธิ์" อย่างพอใจ . ยกตัวอย่างเช่นทำไมเราไม่กำหนดอัตราส่วนการประมาณให้เป็นสัดส่วนกับจำนวนข้อผิดพลาดที่อัลกอริทึมทำ เราจะแก้ปัญหาการตัดสินใจอย่างแท้จริงได้อย่างไรด้วยความโลภและวิธีย่อยที่เหมาะสมที่สุด?

2
อัลกอริทึมที่มีประสิทธิภาพสำหรับปัญหาการมองเห็นในแนวตั้ง
ในระหว่างที่คิดถึงปัญหาหนึ่งฉันรู้ว่าฉันต้องสร้างอัลกอริทึมที่มีประสิทธิภาพในการแก้ไขงานต่อไปนี้: ปัญหา:เราได้รับกล่องสี่เหลี่ยมสองมิติของด้านซึ่งด้านขนานกับแกน เราสามารถตรวจสอบมันผ่านด้านบน อย่างไรก็ตามยังมีส่วนแนวนอนแต่ละเซกเมนต์มีจำนวนเต็ม -coordinate ( ) และ -coordinates ( ) และเชื่อมต่อจุดและ (ดูที่ ภาพด้านล่าง)nnnmmmyyy0≤y≤n0≤y≤n0 \le y \le nxxx0≤x1&lt;x2≤n0≤x1&lt;x2≤n0 \le x_1 < x_2 \le n(x1,y)(x1,y)(x_1,y)(x2,y)(x2,y)(x_2,y) เราอยากทราบว่าแต่ละเซ็กเมนต์ที่ด้านบนของกล่องเราจะมองลึกเข้าไปในแนวตั้งได้อย่างไรถ้ามองผ่านเซ็กเมนต์นี้ อย่างเป็นทางการสำหรับx∈{0,…,n−1}x∈{0,…,n−1}x \in \{0,\dots,n-1\}เราต้องการหาmaxi: [x,x+1]⊆[x1,i,x2,i]yimaxi: [x,x+1]⊆[x1,i,x2,i]yi\max_{i:\ [x,x+1]\subseteq[x_{1,i},x_{2,i}]} y_iy_i ตัวอย่าง: รับn=9n=9n=9และm=7m=7m=7กลุ่มตั้งอยู่ในภาพด้านล่างผลที่ได้คือ(5,5,5,3,8,3,7,8,7)(5,5,5,3,8,3,7,8,7)(5, 5, 5, 3, 8, 3, 7, 8, 7)7) ดูว่าแสงที่ลึกสามารถเข้าไปในกล่องได้ โชคดีสำหรับเราทั้งnnnและmmmมีขนาดค่อนข้างเล็กและเราสามารถทำการคำนวณแบบออฟไลน์ได้ อัลกอริธึมที่ง่ายที่สุดในการแก้ปัญหานี้คือแรงเดรัจฉาน: สำหรับแต่ละเซกเมนต์เคลื่อนที่อาร์เรย์ทั้งหมดและอัพเดตในกรณีที่จำเป็น แต่ก็จะช่วยให้เราไม่ได้น่าประทับใจมากO(mn)O(mn)O(mn)(ล้านบาท) การปรับปรุงที่ดีมากคือการใช้แผนภูมิส่วนซึ่งสามารถเพิ่มค่าสูงสุดในส่วนในระหว่างการค้นหาและอ่านค่าสุดท้าย ผมจะไม่อธิบายมันต่อไป แต่เราจะเห็นว่าเวลาซับซ้อนคือn)O((m+n)logn)O((m+n)log⁡n)O((m+n) …

3
อัลกอริทึมเพื่อทดสอบว่าภาษานั้นไม่มีบริบทหรือไม่
มีอัลกอริทึม / กระบวนงานที่เป็นระบบเพื่อทดสอบว่าภาษานั้นไม่มีบริบทหรือไม่? กล่าวอีกนัยหนึ่งระบุภาษาที่ระบุในรูปแบบพีชคณิต (คิดว่าบางอย่างเช่นL = { anขnan: n ∈ N }L={anขnan:n∈ยังไม่มีข้อความ}L=\{a^n b^n a^n : n \in \mathbb{N}\} ) ทดสอบว่าภาษานั้นไม่มีบริบทหรือไม่ ลองนึกภาพเรากำลังเขียนบริการเว็บเพื่อช่วยนักเรียนทำการบ้านทั้งหมด คุณระบุภาษาและบริการเว็บเอาท์พุท "ไม่มีบริบท" หรือ "ไม่ใช่บริบท" มีวิธีการที่ดีในการทำสิ่งนี้โดยอัตโนมัติหรือไม่? มีเทคนิคการเรียนการสอนสำหรับการพิสูจน์ด้วยตนเองเช่นแทรกสูบน้ำแทรกอ็อกเดน, Parikh แทรกการแลกเปลี่ยนแทรกและเพิ่มเติมได้ที่นี่ อย่างไรก็ตามพวกเขาแต่ละคนต้องการข้อมูลเชิงลึกด้วยตนเองในบางจุดดังนั้นจึงไม่ชัดเจนว่าจะทำให้พวกเขากลายเป็นสิ่งที่เป็นอัลกอริทึมได้อย่างไร ฉันเห็นKaveh เขียนที่อื่นว่าชุดของภาษาที่ไม่มีบริบทไม่นับซ้ำได้ดังนั้นจึงไม่มีความหวังสำหรับอัลกอริธึมที่จะทำงานกับภาษาที่เป็นไปได้ทั้งหมด ดังนั้นฉันคิดว่าบริการเว็บจะต้องสามารถส่งออก "บริบทฟรี", "ไม่ใช่บริบทฟรี" หรือ "ฉันไม่สามารถบอกได้" มีอัลกอริทึมใดบ้างที่มักจะสามารถให้คำตอบนอกเหนือจาก "ฉันบอกไม่ได้" ในหลาย ๆ ภาษาที่มีแนวโน้มที่จะเห็นในตำราเรียน? คุณจะสร้างบริการเว็บดังกล่าวได้อย่างไร ในการทำให้คำถามนี้ถูกต้องเราจำเป็นต้องตัดสินใจว่าผู้ใช้จะระบุภาษาอย่างไร ฉันเปิดรับข้อเสนอแนะ แต่ฉันกำลังคิดแบบนี้: L = { E: …

2
มีอะไรที่ยากกว่า: การสับสำรับที่เรียงแล้วหรือการเรียงสับแบบสับ
คุณมีอาร์เรย์ขององค์ประกอบที่แตกต่างกันคุณสามารถเข้าถึงตัวเปรียบเทียบ (ฟังก์ชันกล่องดำที่รับสององค์ประกอบaและbและคืนค่าจริง iff a &lt; b ) และแหล่งบิตสุ่มอย่างแท้จริง (ฟังก์ชันกล่องดำไม่มีอาร์กิวเมนต์และคืนบิตสุ่มแบบสุ่มอย่างสม่ำเสมอ) พิจารณางานสองอย่างต่อไปนี้:nnnaaabbba&lt;ba&lt;ba < b อาร์เรย์ถูกเรียงในขณะนี้ ผลิตการเรียงสับเปลี่ยนที่เลือกแบบสุ่ม (หรือโดยประมาณอย่างสม่ำเสมอ) อาร์เรย์ประกอบด้วยการเรียงสับเปลี่ยนที่เลือกอย่างสม่ำเสมอโดยการสุ่มโดยธรรมชาติ สร้างอาร์เรย์ที่เรียงลำดับ คำถามของฉันคือ งานใดที่ต้องใช้พลังงานมากขึ้น ฉันไม่สามารถนิยามคำถามได้อย่างแม่นยำมากขึ้นเพราะฉันไม่รู้เกี่ยวกับการเชื่อมต่อระหว่างทฤษฎีสารสนเทศอุณหพลศาสตร์หรืออะไรก็ตามที่จำเป็นในการตอบคำถามนี้ อย่างไรก็ตามฉันคิดว่าคำถามสามารถสร้างได้อย่างชัดเจน (และหวังว่าจะมีคนช่วยฉันด้วยคำตอบนี้!) ตอนนี้อัลกอริทึมปรีชาของฉันคือพวกมันเท่ากัน ขอให้สังเกตว่าการเรียงลำดับทั้งหมดเป็นการสลับกลับกันและในทางกลับกัน การเรียงลำดับต้องใช้รถในขณะที่สับเพราะมันหยิบเปลี่ยนแปลงสุ่มจากn ! ตัวเลือกต้องใช้log n ! ≈ n log nบิตแบบสุ่ม ทั้งการสับและการเรียงต้องใช้n swapslogn!≈nlognlog⁡n!≈nlog⁡n\log n! \approx n \log nn!n!n!logn!≈nlognlog⁡n!≈nlog⁡n\log n! \approx n \log nnnn อย่างไรก็ตามฉันรู้สึกว่าควรมีคำตอบที่ใช้หลักการของ Landauerซึ่งบอกว่าต้องใช้พลังงานในการ "ลบ" เล็กน้อย ฉันคิดว่านี่หมายถึงการเรียงลำดับอาร์เรย์นั้นยากกว่าเพราะต้องใช้ …

2
การคำนวณเมทริกซ์ผกผันเมื่อองค์ประกอบเปลี่ยนแปลง
รับเมทริกซ์ ให้เมทริกซ์ผกผันของAเป็นA - 1 (นั่นคือA A - 1 = I ) สมมติว่าองค์ประกอบหนึ่งในมีการเปลี่ยนแปลง (สมมติว่าฉันเจเพื่อ' ฉันเจ ) วัตถุประสงค์คือการหาA - 1หลังจากการเปลี่ยนแปลงนี้ มีวิธีการค้นหาวัตถุประสงค์นี้ที่มีประสิทธิภาพมากกว่าการคำนวณเมทริกซ์ผกผันอีกครั้งตั้งแต่เริ่มต้นหรือไม่n×nn×nn \times nAA\mathbf{A}AA\mathbf{A}A−1A−1\mathbf{A}^{-1}AA−1=IAA−1=I\mathbf{A}\mathbf{A}^{-1} = \mathbf{I}AA\mathbf{A}aijaija _{ij}a′ijaij′a' _{ij}A−1A−1\mathbf{A}^{-1}

4
การเกิดซ้ำและฟังก์ชันสร้างในอัลกอริทึม
Combinatorics มีบทบาทสำคัญในวิทยาการคอมพิวเตอร์ เราใช้วิธี combinatorial ในการวิเคราะห์และการออกแบบอัลกอริทึมบ่อยครั้ง ตัวอย่างเช่นวิธีหนึ่งสำหรับการค้นหาชุดkkk -vertex ในกราฟอาจตรวจสอบชุดย่อย(nk)(nk)\binom{n}{k}เป็นไปได้ทั้งหมด ในขณะที่ฟังก์ชั่นทวินามเติบโตขึ้นแบบทวีคูณถ้าkkkเป็นค่าคงที่ที่แน่นอนเราจะสิ้นสุดด้วยอัลกอริธึมเวลาพหุนามโดยการวิเคราะห์เชิงเส้นกำกับ บ่อยครั้งที่ปัญหาในชีวิตจริงต้องการกลไกการผสมผสานที่ซับซ้อนมากขึ้นซึ่งเราอาจนิยามในแง่ของการเกิดซ้ำ ตัวอย่างที่มีชื่อเสียงอย่างหนึ่งคือลำดับฟีโบนักชี (ไร้เดียงสา) ที่นิยามเป็น: f(n)=⎧⎩⎨10f(n−1)+f(n−2)if n=1if n=0otherwisef(n)={1if n=10if n=0f(n−1)+f(n−2)otherwisef(n) = \begin{cases} 1 & \text{if } n = 1 \\ 0 & \text{if } n = 0 \\ f(n-1) + f(n-2) & \text{otherwise} \end{cases} ขณะนี้การคำนวณมูลค่าของคำศัพท์ที่nnnเพิ่มขึ้นแบบทวีคูณโดยใช้การเกิดซ้ำนี้ แต่ด้วยการเขียนโปรแกรมแบบไดนามิกเราอาจคำนวณในเวลาเชิงเส้น ทีนี้ไม่ใช่การเกิดซ้ำทั้งหมดให้ตัวเองกับ DP (ฟังก์ชั่นแฟกทอเรียล) แต่มันเป็นคุณสมบัติที่สามารถเอาเปรียบได้เมื่อกำหนดบางอย่างว่าเป็นการเกิดซ้ำมากกว่าฟังก์ชั่นการสร้าง ฟังก์ชั่นการสร้างเป็นวิธีที่สง่างามในการทำให้เป็นรูปเป็นร่างสำหรับโครงสร้างที่กำหนด บางทีที่มีชื่อเสียงที่สุดคือฟังก์ชันการสร้างทวินามที่กำหนดเป็น: …

8
เหตุใดเราจึงคิดว่าอัลกอริทึมสามารถแสดงเป็นบิตสตริงได้
ฉันเริ่มอ่านหนังสือเกี่ยวกับความซับซ้อนในการคำนวณและเครื่องทัวริง นี่คือคำพูด: อัลกอริทึม (เช่นเครื่อง) สามารถแสดงเป็นบิตสตริงเมื่อเราตัดสินใจเกี่ยวกับการเข้ารหัสแบบบัญญัติ การยืนยันนี้มีให้ในความเป็นจริง แต่ฉันไม่สามารถเข้าใจได้ ตัวอย่างเช่นถ้าฉันมีอัลกอริทึมซึ่งใช้เป็นอินพุตและคำนวณ( x + 1 ) 2หรือ:xxx(x+1)2(x+1)2(x+1)^2 int function (int x){ x = x + 1; return x**2; } สิ่งนี้สามารถแสดงเป็นสตริงโดยใช้ตัวอักษรอย่างไร?{0,1}∗{0,1}∗\{0, 1\}^*

1
ค้นหาพหุนามในการค้นหาสองหรือสามครั้ง
กล่องดำของf(x)f(x)f(x)หมายความว่าฉันสามารถประเมินพหุนามได้ทุกจุดf(x)f(x)f(x) การป้อนข้อมูล : กล่องสีดำของ monic พหุนามปริญญาdf(x)∈Z+[x]f(x)∈Z+[x]f(x) \in\mathbb{Z}^+[x]ddd เอาท์พุท:ค่าสัมประสิทธิ์ของพหุนาม(x)f ( x )dddf(x)f(x)f(x) อัลกอริทึมของฉัน:อนุญาต f(x)=xd+ad−1xd−1+⋯+a1x+a0f(x)=xd+ad−1xd−1+⋯+a1x+a0f(x) = x^{d} + a_{d-1} x^{d-1} + \cdots + a_1 x + a_0 ประเมินค่าพหุนามที่dหลาย ๆ จุดโดยใช้กล่องดำและรับระบบสมการเชิงเส้น ตอนนี้ฉันสามารถแก้ระบบสมการเชิงเส้นเพื่อให้ได้ค่าสัมประสิทธิ์ที่ต้องการf(x)f(x)\mathcal{f(x)}ddd อย่างไรก็ตามในกรณีนี้ฉันต้องการแบบสอบถามจำนวนมากไปยังกล่องดำ ฉันต้องการที่จะลดจำนวนแบบสอบถาม มีวิธีใดที่จะลดจำนวนข้อความค้นหาให้เหลือเพียงสองหรือสามข้อO(d)O(d)\mathcal{O(d)}

3
จุดประสงค์ของการใช้ NIL คืออะไรเพื่อแสดงโหนดว่าง
ในหลักสูตรอัลกอริทึมและโครงสร้างข้อมูลของฉันอาจารย์สไลเดอร์และหนังสือ ( Introduction to Algorithms รุ่นที่ 3 ) ใช้คำNILที่แสดงถึงตัวอย่างเช่นลูกของโหนด (ในต้นไม้) ที่ไม่มีอยู่ ครั้งหนึ่งระหว่างการบรรยายแทนที่จะพูดNILเพื่อนร่วมชั้นของฉันพูดnullและอาจารย์แก้ไขเขาและฉันก็ไม่เข้าใจว่าทำไมอาจารย์เน้นคำนี้ มีเหตุผลที่คนใช้คำNILแทนnullหรือnoneหรือคำอื่น ๆ ? ไม่NILได้มีความหมายบางอย่างโดยเฉพาะอย่างยิ่งที่คนอื่นไม่ได้? มีเหตุผลทางประวัติศาสตร์บ้างไหม? โปรดทราบว่าฉันได้เห็นบางสถานที่รอบ ๆ เว็บเช่นคำที่nullใช้แทนNILแต่โดยปกติจะใช้คำสุดท้าย

4
ค้นหาเวกเตอร์บิตที่ไม่ได้ซ้อนทับกัน
ผมให้คุณรายการnnn bitvectors ของความกว้างของkkkkเป้าหมายของคุณคือส่งคืน bitvector สองตัวจากรายการที่ไม่มี 1s ร่วมกันหรือเพื่อรายงานว่าไม่มีคู่ดังกล่าวอยู่ ตัวอย่างเช่นถ้าผมให้คุณ[00110,01100,11000][00110,01100,11000][00110, 01100, 11000]แล้วทางออกเดียวคือ{00110,11000}{00110,11000}\{00110, 11000\} } อีกวิธีหนึ่งอินพุต[111,011,110,101][111,011,110,101][111, 011, 110, 101]ไม่มีวิธีแก้ปัญหา และรายชื่อใด ๆ ที่มีทุกศูนย์ bitvector 000...0000...0000...0และองค์ประกอบอื่นeeeมีวิธีการแก้ปัญหาที่น่ารำคาญ{e,000...0}{e,000...0}\{e, 000...0\} } นี่เป็นตัวอย่างที่ยากขึ้นเล็กน้อยโดยไม่มีวิธีแก้ปัญหา (แต่ละแถวเป็นบิตเวกเตอร์สี่เหลี่ยมสีดำคือ 1 วินาทีและสี่เหลี่ยมสีขาวเป็น 0s): ■ ■ ■ ■ □ □ □ □ □ □ □ □ □ ■ □ □ □ ■ ■ ■ □ □ …

4
นี่เป็นปัญหากราฟ จำกัด แน่นอนหรือไม่? ปัจจัยใดที่ทำให้เกิดปัญหาที่สามารถตัดสินใจได้
ฉันต้องการที่จะรู้ว่าปัญหาต่อไปนี้จะสามารถตัดสินใจได้และวิธีการที่จะหา ทุกปัญหาที่ฉันเห็นฉันสามารถพูดว่า "ใช่" หรือ "ไม่" กับมันดังนั้นปัญหาและอัลกอริธึมส่วนใหญ่สามารถตัดสินใจได้ยกเว้นบางอย่าง (ซึ่งมีให้ที่นี่ ) การป้อนข้อมูล: กำกับและ จำกัด กราฟกับและเป็นจุด คำถาม: เส้นทางในกับเป็นจุดสุดยอดเริ่มต้นและเป็นจุดสุดยอดที่มีอยู่สุดท้าย?GGGvvvuuuGGGuuuvvv

4
ทำไมเราไม่ใช้การจัดเรียงอย่างรวดเร็วในรายการที่เชื่อมโยง?
อัลกอริทึมการเรียงลำดับด่วนสามารถแบ่งออกเป็นขั้นตอนต่อไปนี้ ระบุเดือย แบ่งพาร์ติชันรายการที่เชื่อมโยงตาม pivot แบ่งรายการที่เชื่อมโยงแบบวนซ้ำเป็น 2 ส่วน ตอนนี้ถ้าผมมักจะเลือกองค์ประกอบสุดท้ายเป็นเดือยแล้วระบุองค์ประกอบหมุน (ขั้นตอนที่ 1) ใช้เวลาเวลาO(n)O(n)\mathcal O(n) หลังจากระบุองค์ประกอบ pivot เราสามารถจัดเก็บข้อมูลและเปรียบเทียบกับองค์ประกอบอื่น ๆ ทั้งหมดเพื่อระบุจุดพาร์ติชันที่ถูกต้อง (ขั้นตอนที่ 2) เปรียบเทียบแต่ละคนจะใช้เวลาเวลาที่เราเก็บข้อมูลเดือยและแต่ละแลกเปลี่ยนใช้เวลาO ( 1 )เวลา ดังนั้นโดยรวมจะใช้เวลาO ( n )สำหรับองค์ประกอบnO(1)O(1)\mathcal O(1)O(1)O(1)\mathcal O(1)O(n)O(n)\mathcal O(n)nnn ดังนั้นความสัมพันธ์ที่เกิดซ้ำคือ: ซึ่งเป็น O ( n log n )ซึ่งเหมือนกับในการเรียงแบบผสานกับรายการที่เชื่อมโยงT(n)=2T(n/2)+nT(n)=2T(n/2)+nT(n) = 2T(n/2) + nO(nlogn)O(nlog⁡n)\mathcal O(n \log n) เหตุใดจึงต้องจัดเรียงผสานมากกว่าการจัดเรียงด่วนสำหรับรายการที่เชื่อมโยง

3
ผลรวมที่ใหญ่ที่สุดหารด้วย n
ฉันถามคำถามนี้กับ StackOverflowแต่ฉันคิดว่าที่นี่เป็นสถานที่ที่เหมาะสมกว่า นี่เป็นปัญหาจากหลักสูตรIntroduction to Algorithm : คุณมีอาร์เรย์aaaพร้อมnnnจำนวนเต็มบวก (อาร์เรย์ไม่จำเป็นต้องเรียงหรือองค์ประกอบที่ไม่ซ้ำกัน) แนะนำให้O(n)O(n)O(n)ขั้นตอนวิธีการที่จะหาผลรวมที่ใหญ่ที่สุดขององค์ประกอบที่หารด้วยnnnn ตัวอย่าง: = [ 6 , 1 , 13 , 4 , 9 , 8 , 25 ] , n = 7 คำตอบคือ56 (มีองค์ประกอบ6 , 13 , 4 , 8 , 25 )a=[6,1,13,4,9,8,25],n=7a=[6,1,13,4,9,8,25],n=7a = [6, 1, 13, 4, 9, 8, 25], n …

2
การต่อกันของสองภาษาปกติไม่ชัดเจนเมื่อใด
ได้รับภาษาและB , ขอบอกว่าการเรียงต่อกันของพวกเขาBเป็นที่ชัดเจนถ้าสำหรับทุกคำW ∈ Bมีอีกหนึ่งการสลายตัวW = ขกับ∈และข∈ Bและคลุมเครืออย่างอื่น (ฉันไม่รู้ว่ามีคำศัพท์ที่สร้างขึ้นสำหรับสถานที่ให้บริการนี้หรือไม่ - ยากที่จะค้นหา!) เป็นตัวอย่างที่น่าสนใจการต่อเชื่อม{ ε , a }กับตัวเองนั้นคลุมเครือ ( w = aAAABBBABABABw∈ABw∈ABw \in ABw=abw=abw = aba∈Aa∈Aa \in Ab∈Bb∈Bb \in B{ε,a}{ε,a}\{\varepsilon, \mathrm{a}\} ) แต่การต่อกันของ { a }กับตัวเองนั้นไม่คลุมเครือw=a=εa=aεw=a=εa=aεw = \mathrm{a} = \varepsilon \mathrm{a} = \mathrm{a} \varepsilon{a}{a}\{\mathrm{a}\} มีอัลกอริทึมสำหรับการตัดสินใจว่าการต่อเชื่อมภาษาสองภาษาปกติไม่คลุมเครือหรือไม่?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.