Sabtu, 18 Mei 2013

Pengoperasian Aplikasi Automata JFLAP

Apa JFLAP?


JFLAP adalah paket perangkat grafis yang dapat digunakan sebagai bantuan dalam belajar konsep dasar Bahasa Formal dan Teori Automata.

Bahasa Reguler - membuat
  • DFA
  • NFA
  • tata bahasa reguler
  • ekspresi reguler

Bahasa Reguler - konversi
  • NFA -> DFA -> Minimal DFA
  • NFA <-> ekspresi reguler
  • NFA <-> tata bahasa reguler

Bebas konteks bahasa - menciptakan
  • mendorong-down otomat
  • tata bahasa bebas konteks

Bebas konteks bahasa - mengubah
  • PDA -> CFG
  • CFG -> PDA (parser LL)
  • CFG -> PDA (parser SLR)
  • CFG -> CNF
  • CFG -> LL meja mengurai dan parser
  • CFG -> SLR parsing meja dan parser
  • CFG -> Brute-force parser

Bahasa Rekursif Enumerable
  • Turing mesin (1-tape)
  • Turing mesin (multi-tape)
  • Turing mesin (blok bangunan)
  • tata bahasa terbatas
  • terbatas gramamr -> brute force parser

L-Systems
  • Buat L-sistem


Membangun Pertama Anda pushdown Automaton

Definisi


JFLAP mendefinisikan nondeterministic pushdown otomat (NPDA) M sebagai berlipat tujuh M = (Q, Σ , Γ, δ s, Z, F) di mana
Q adalah himpunan berhingga negara {q i | i adalah bilangan bulat positif}
Σ adalah alfabet hingga input
Γ adalah terbatas tumpukan abjad
δ adalah fungsi transisi, δ: Q × Σ * × Γ * → terbatas himpunan bagian dari Q × Γ *
s (adalah anggota Q) adalah keadaan awal
Z adalah awal tumpukan simbol (harus menjadi modal Z)
F (adalah bagian dari Q) adalah himpunan negara akhir
Perhatikan bahwa definisi ini mencakup deterministik pushdown automata, yang hanya nondeterministic pushdown automata dengan hanya satu tersedia rute untuk mengambil.

Cara Buat Automaton


Untuk pengetahuan banyak alat-alat umum, menu, dan jendela yang digunakan untuk membuat robot, yang pertama harus membaca tutorial tentang automata terbatas . Tutorial ini terutama akan fokus pada fitur dan pilihan yang membedakan pushdown automata dari automata terbatas.
Kita akan mulai dengan membangun NPDA deterministik untuk bahasa L = {a n b n: n> 0}. Pendekatan kami adalah untuk mendorong sebuah "a" pada stack untuk setiap "a" dalam input, dan pop "a" dari tumpukan untuk setiap "b" pada input. Untuk memulai NPDA baru, mulailah JFLAP dan klik opsi pushdown Automaton dari menu, seperti yang ditunjukkan di bawah ini:


Satu akhirnya akan melihat layar kosong yang terlihat seperti layar di bawah ini. Ada banyak tombol yang sama, menu, dan fitur yang ada yang ada untuk automata terbatas. Namun, ada beberapa perbedaan, yang akan kita hadapi segera.


Empat negara harus cukup untuk bahasa L = {a n b n: n> 0}. Tambahkan empat negara ke layar, pengaturan keadaan awal menjadi q0 dan keadaan akhir menjadi Q3. Layar akan terlihat seperti di bawah ini.


Sekarang waktunya untuk menambahkan transisi. Mencoba untuk menambahkan transisi antara negara q0 dan q1. Namun, ada sesuatu yang berbeda tentang transisi ini dibandingkan dengan yang dibuat dengan automata terbatas. Satu akan melihat bahwa ada tiga input, bukan satu.


Nilai dalam kotak pertama merupakan input untuk diproses, nilai dalam kotak kedua merupakan nilai saat ini di bagian atas tumpukan, dan nilai akhir merupakan nilai baru yang akan didorong ke atas tumpukan, setelah muncul nilai di atas tumpukan off. Tidak ada batasan untuk ukuran nilai-nilai dalam kotak-kotak ini.
Sekarang, saatnya untuk menambahkan masukan. Untuk mengubah transisi dari default, klik pada kotak pertama. Masukkan nilai "a" untuk kotak pertama, nilai "Z" untuk kotak kedua (karakter default untuk bagian bawah elemen dalam stack), dan nilai "aZ" di kotak ketiga. Gunakan Tab atau mouse untuk berpindah di antara kotak, dan tekan enter atau klik mouse pada layar luar kotak bila dilakukan. Transisi ini berarti berikut. Jika simbol pertama masukan adalah "a", simbol pertama dari stack adalah "Z", dan mesin dalam keadaan "q0", kemudian pop off "Z" dan tekan "aZ" ke stack. Transisi ini sehingga menambahkan sebuah "a" ke stack jika dimanfaatkan.Setelah selesai, daerah antara q0 dan q1 harus menyerupai contoh di bawah ini.

Mari kita menyelesaikan transisi. Tambahkan transisi (a, a, aa) antara q1 q1 dan untuk menyelesaikan sebuah segmen n. Buat transisi (b, a, λ) antara q1 dan q2 dan antara q2 dan q2 untuk mewakili n segmen. Akhirnya,(λ, Z, Z) antara q2 dan q3 akan memungkinkan input untuk sampai pada keadaan akhir. Setelah selesai, layar akan terlihat seperti ini:


Untuk kenyamanan Anda, NPDA bahwa kami telah membuat tersedia di pdaexample.jff . Sekarang, klik pada "Input" menu dan pilih "Step dengan Penutupan." Ia akan meminta Anda untuk masukan, jadi masukkan "aaaabbbb" (mewakili 4 b 4). Setelah mengklik "OK" atau menekan enter, layar berikut akan muncul:


Hal ini sangat mirip dengan layar sesuai untuk automata terbatas. Namun, perbedaan dicatat adalah bahwa ada kotak kedua teks di panel di bagian kiri bawah. Teks ini kotak, yang saat ini berisi 'Z', adalah tumpukan kami.Jika kita klik tombol langkah, kita dapat melihat contoh bagaimana tumpukan perubahan sebagai simulasi berjalan. Saat ini sudah menjadi 'a' di depan 'Z'. Karena kami terus simulasi, stack akan pada terbesar ketika nilai-nilai n telah diproses, tapi tidak n nilai. Namun, karena nilai-nilai b diproses, maka akan semakin kecil. Tumpukan akhirnya akan berakhir kembali di mana ia mulai, dengan nilai "Z". Jadi kita menyelesaikan NPDA deterministik pertama kami.

Setelah langkah pertama
Setelah n
Setelah nilai bpertama
Ketika selesai

Editor Jendela

Untuk memulai FA baru, mulailah JFLAP dan klik Finite Automaton pilihan dari menu.

Memulai FA baru

Ini harus membuka jendela baru yang memungkinkan Anda untuk membuat dan mengedit FA. Editor dibagi menjadi dua daerah dasar: kanvas, yang dapat Anda membangun robot Anda, dan toolbar, yang memegang alat yang Anda butuhkan untuk membangun robot Anda.

Jendela editor
Mari kita lihat lebih dekat pada toolbar.
FA toolbar
Seperti yang Anda lihat, toolbar memegang empat alat:
Untuk memilih alat, klik pada ikon yang sesuai dengan mouse anda. Ketika alat ini dipilih, berbayang, sebagai alat Atribut Editor  di atas. Memilih alat menempatkan Anda dalam modus yang sesuai. Misalnya, dengan toolbar di atas, kita sekarang dalam modus Atribut Editor.
Modus yang berbeda mendikte cara klik mouse mempengaruhi mesin. Misalnya, jika kita berada dalam modus Pencipta Negara, klik pada kanvas akan membuat negara-negara baru. Mode ini akan dijelaskan secara lebih detail dalam waktu dekat.
Sekarang mari kita mulai membuat FA kami.

Menciptakan Serikat

Pertama, mari kita membuat beberapa negara. Untuk melakukannya kita perlu mengaktifkan bahwa alat Pencipta Negara dengan mengklik  tombol pada toolbar . Selanjutnya, klik pada kanvas di lokasi yang berbeda untuk menciptakan negara. Kami tidak begitu yakin berapa banyak negara kita akan membutuhkan, sehingga kami membuat empat negara. Jendela editor Anda akan terlihat seperti ini:

Serikat membuat
Sekarang kita telah menciptakan negara kami, mari kita mendefinisikan awal dan akhir negara.

Mendefinisikan Serikat Awal dan Akhir

Sewenang-wenang, kita memutuskan bahwa q 0 akan state awal kami. Untuk menentukan untuk menjadi keadaan awal kita, pertama pilih alat Atribut Editor  pada toolbar . Sekarang kita berada dalam modus Atribut Editor, klik kanan pada q 0. Ini akan memberikan kita menu pop-up yang terlihat seperti ini:
Menu negara
Dari menu pop-up, pilih kotak centang awal. Sebuah putih panah appreas di sebelah kiri q 0 untuk menunjukkan bahwa itu adalah keadaan inital.
q 0 didefinisikan sebagai keadaan awal

Selanjutnya, mari kita menciptakan keadaan akhir. Sewenang-wenang, kita pilih q 1 sebagai keadaan akhir kami. Untuk mendefinisikannya sebagai keadaan akhir, klik kanan pada negara dan klik checkbox Final. Ini akan memiliki garis ganda, menunjukkan bahwa itu adalah keadaan akhir.
q 1 didefinisikan sebagai keadaan akhir
Sekarang kita telah mendefinisikan keadaan awal dan akhir, mari kita beralih ke menciptakan transtitions.

Membuat Transisi

Kita tahu string dalam kami bahasa dapat mulai dengan 's, jadi, keadaan awal harus memiliki transisi keluar pada. Kita juga tahu bahwa hal itu dapat mulai dengan nomor salah satu dari 's, yang berarti bahwa FA harus dalam keadaan yang sama setelah masukan dari sejumlah dari pengolahan' s. Dengan demikian, transisi keluar pada dari q 0 loop kembali ke dirinya sendiri.
Untuk membuat transisi seperti ini, pertama pilih alat Pencipta Transition  dari toolbar . Selanjutnya, klik pada q 0 di kanvas. Sebuah kotak teks akan muncul atas negara:

Membuat transisi

Perhatikan bahwa λ , Reprsenting string kosong, awalnya diisi untuk Anda. Jika Anda lebih suka ε mewakili string kosong, pilih Preferences: Preferences dalam menu utama untuk mengubah simbol yang mewakili string kosong.
Ketik "a" dalam kotak teks dan tekan Enter. Jika kotak teks tidak dipilih, tekan Tab untuk memilihnya, kemudian masukkan "a". Ketika Anda selesai, seharusnya terlihat seperti ini:

Transisi dibuat

Selanjutnya, kita tahu bahwa string dalam kami bahasa harus diakhiri dengan ganjil b 's. Dengan demikian, kita tahu bahwa transtion keluar pada b dari q 0 harus ke keadaan akhir, sebagai string berakhir dengan satu b harus diterima. Untuk membuat transisi dari keadaan awal kami q 0 sampai keadaan akhir kami q 1, pertama-tama memastikan bahwa alat Pencipta Transition  dipilih pada toolbar . Selanjutnya, klik dan tahan pada q 0, dan tarik mouse untuk q 1 dan lepaskan tombol mouse. Masukkan "b" di textbox dengan cara yang sama yang Anda masukkan "a" untuk transisi sebelumnya. Transisi antara dua negara akan terlihat seperti ini:
Transisi kedua dibuat

Terakhir, kita tahu bahwa hanya string yang berakhir dengan ganjil b 's harus diterima. Dengan demikian, kita tahu bahwa q 1 memiliki transisi keluar pada b, bahwa ia tidak dapat loop kembali ke q 1. Ada dua pilihan untuk transtion: itu dapat pergi ke keadaan awal q 0, atau keadaan baru, katakanlah, q 2.
Jika transisi pada b adalah keadaan awal q 0, string tidak harus menjadi bentuk m b n, string seperti ababab juga akan diterima. Dengan demikian, transisi tidak dapat untuk q 0, dan itu harus untuk q 2.
Buat transisi pada b dari q 1 ke q 2. Sebagai FA harus menerima string yang berakhir dengan ganjil b 's, membuat transisi lain pada b dari q 2 q 1. FA Anda sekarang penuh, FA bekerja! Seharusnya terlihat seperti ini:
FA bekerja
Anda mungkin melihat bahwa q 3 tidak digunakan dan dapat dihapus. Selanjutnya, kami akan menjelaskan cara menghapus negara dan transisi.

Amerika Menghapus dan Transisi

Untuk menghapus q 3, pertama pilih alat Deletor  pada toolbar . Selanjutnya, klik pada negara q 3. Jendela editor Anda sekarang harus terlihat seperti ini:
q 3 dihapus
Demikian pula, untuk menghapus transisi, cukup klik pada simbol masukan transisi ketika dalam mode Deletor.
FA Anda, faex.jff , sekarang lengkap.

Menjalankan FA pada Beberapa Strings

Sekarang Anda telah menyelesaikan FA Anda, Anda mungkin ingin mengujinya untuk melihat apakah itu benar-benar menerima string dari bahasa . Untuk melakukannya, pilih input: Beberapa Run dari menu bar.
Memulai tab menjalankan beberapa
Sebuah tab baru akan muncul menampilkan robot pada panel kiri, dan tabel input di sebelah kanan:
Sebuah tab baru menjalankan beberapa
Untuk memasukkan string masukan, klik pada baris pertama di kolom Input dan ketik string. Tekan Enter untuk melanjutkan ke string input berikutnya. Ketika Anda selesai, klik Jalankan Input untuk menguji FA Anda pada semua string masukan. Hasilnya, Terima atau Tolak ditampilkan dalam kolom Hasil. Anda juga dapat memuat masukan dari file dibatasi dengan spasi. Cukup klik pada Load Input dan memuat file untuk menambahkan string masukan tambahan menjadi multi-run pane.
Menjalankan beberapa input
Clear menghapus semua string masukan, sementara Enter Lambda memasuki string kosong pada kursor. Lihat Jejak menampilkan jendela terpisah yang menunjukkan jejak input slected. Untuk kembali ke jendela Editor, pilih Berkas: Singkirkan Tab dari menu bar.

Membangun nondeterministic Finite Automaton

Membangun nondeterministic terbatas otomat (NFA) sangat banyak seperti membangun DFA. Namun, NFA berbeda dari DFA dalam hal memenuhi salah satu dari dua kondisi. Pertama, jika FA memiliki dua transisi dari negara yang sama yang membaca simbol yang sama, FA dianggap NFA. Kedua, jika FA mempunyai transisi yang membaca string kosong untuk input, itu juga dianggap sebagai NFA.
Mari kita lihat NFA ini, yang dapat diakses melalui ex1.3a.jff : (Catatan: Contoh ini diambil dari JFLAP:. Sebuah Bahasa Formal dan Automata Interaktif Paket oleh Susan Rodger dan Thomas Finley)
Sebuah NFA
Kita dapat segera memberitahu bahwa ini adalah NFA karena dari empat λ -Transisi yang berasal dari q 3 dan q 9, tapi kami mungkin tidak yakin jika kita telah melihat semua negara nondeterministic. JFLAP dapat membantu dengan itu.

Menyoroti Serikat nondeterministic

Untuk melihat semua negara nondeterministic di NFA, pilih Test: Sorot Nondeterminism dari menu bar:
Menyoroti negara nondeterministic
Sebuah tab baru akan muncul dengan negara nondeterministic dinaungi warna yang lebih gelap:
Negara nondeterministic disorot
Seperti yang kita lihat, q 3 dan q 9 memang nondeterministic karena λ keluar mereka -Transisi. Perhatikan bahwa mereka berdua akan nondeterministic bahkan jika mereka masing-masing memiliki satu λ -Transisi bukan dua: hanya satu λ -Transisi diperlukan untuk membuat nondeterministic negara. Kita juga melihat bahwa q 1 adalah nondeterministic karena dua transisi yang keluar berada pada simbol yang sama,. Selanjutnya, kita akan pergi melalui alat JFLAP untuk menjalankan masukan pada NFA.

Menjalankan Masukan pada NFA

Untuk langkah melalui masukan pada NFA, pilih input: Langkah dengan Penutupan ... dari menu bar. Sebuah kotak dialog yang meminta Anda untuk input akan muncul. Biasanya, Anda akan memasukkan input yang Anda ingin melewati ini. Untuk saat ini, ketik "aaaabb" di kotak dialog dan tekan Enter. Anda juga dapat memuat file masukan bukan mengetik string.
CATATAN: Ketika memuat masukan dari file tersebut, JFLAP menentukan akhir string input dengan spasi. Jadi jika ada string "ab cd" dalam sebuah file, hanya "ab" akan dianggap sebagai input ("cd" akan diabaikan karena ada spasi sebelum mereka).
Memasuki masukan
Sebuah tab baru akan muncul menampilkan robot di bagian atas jendela, dan konfigurasi di bagian bawah. Keadaan saat berbayang.
Sebuah tab input baru
Pertama, mari kita lihat lebih dekat konfigurasi:
Sebuah ikon konfigurasi
Ikon konfigurasi menunjukkan keadaan saat konfigurasi di pojok kiri atas, dan masukan pada pita putih di bawah. Input diproses ditampilkan dalam warna abu-abu, dan masukan yang belum diolah berwarna hitam.
Klik Langkah untuk memproses simbol berikutnya masukan. Anda akan melihat q 1 menjadi negara berbayang di NFA, dan bahwa perubahan ikon konfigurasi, mencerminkan fakta bahwa pertama telah diproses. KlikLangkah lagi untuk memproses sebuah berikutnya. Anda akan menemukan bahwa empat negara yang dinaungi bukan satu, dan ada empat konfigurasi, bukan satu.
aa diproses
Hal ini karena mesin nondeterministic. Dari q 1, NFA mengambil kedua transisi ke q 2 dan q 9. Sebagai q 9 memiliki dua λ -Transisi (yang tidak perlu input), NFA lanjut menghasilkan dua konfigurasi yang lebih dengan mengambil transisi tersebut. Dengan demikian, simulator sekarang memiliki empat konfigurasi. Klik Langkah lagi untuk memproses simbol input berikutnya.
aaa olahan
Perhatikan bahwa dua dari konfigurasi yang disorot merah, menunjukkan mereka ditolak. Melihat masukan mereka, kita juga tahu bahwa hanya aa diproses. Apa yang terjadi?

Memproduksi Trace

Untuk memilih konfigurasi, klik di atasnya. Ini akan menjadi warna yang solid saat dipilih, bukan warna sedikit dinilai. Klik pada ikon untuk konfigurasi ditolak dengan keadaan q 11, dan klik Trace. Seorang janda baru akan muncul menunjukkan traceback dari konfigurasi yang:
Traceback Sebuah konfigurasi yang
Traceback menunjukkan konfigurasi setelah pengolahan setiap simbol masukan. Dari traceback, kita bisa mengatakan bahwa konfigurasi yang dimulai pada q 0 dan mengambil transisi ke q 1 setelah pengolahan pertama.Setelah pengolahan kedua, itu di q 11. Meskipun q 11 tidak berdekatan dengan q 1, dapat dicapai dengan mengambil sebuah λ -Transisi dari q 9. Sebagai simulator mencoba untuk memproses berikutnya pada konfigurasi ini, menyadari bahwa tidak ada keluar sebuah transisi dari q 11 dan dengan demikian menolak konfigurasi.
Meskipun konfigurasi ditolak akan menghapus diri pada langkah berikutnya, kami juga dapat menghapus konfigurasi yang belum ditolak.

Menghapus Konfigurasi

Melihat tracebacks dari konfigurasi ditolak, kita bisa mengatakan bahwa setiap konfigurasi yang ada di q 11 atau q 6 dan simbol input berikutnya yang adalah akan ditolak.
Sebagai simbol input berikutnya adalah, kita bisa mengatakan bahwa konfigurasi yang sedang dalam q 6 dan q 11 akan ditolak. Klik sekali pada setiap dari empat konfigurasi untuk memilih mereka, kemudian klik Hapus.Simulator tidak akan lagi langkah konfigurasi ini. (Meskipun kami hanya menghapus konfigurasi yang akan segera ditolak, kita dapat menghapus konfigurasi untuk tujuan apapun, dan simulator akan berhenti melangkah melalui masukan pada konfigurasi tersebut.)
Simulator Anda sekarang harus terlihat seperti ini:
Konfigurasi Ditolak dihapus
Sekarang ketika kita melangkah simulator, dua konfigurasi akan melangkah melalui.
Melihat dua konfigurasi di atas, kita bisa menyadari bahwa konfigurasi pada q 3 tidak akan mengarah ke konfigurasi menerima. Kita dapat menguji ide kami keluar dengan membekukan konfigurasi lainnya.

Pembekuan dan thawing konfigurasi

Untuk membekukan konfigurasi pada q 10, klik pada q 10 kali, kemudian klik tombol Freeze. Ketika konfigurasi beku, maka akan berwarna warna yang lebih gelap dari ungu:
Konfigurasi q 10 beku
Dengan konfigurasi itu dibekukan, karena Anda klik Langkah langkah melalui konfigurasi pada q 3, konfigurasi beku tetap sama. Mengklik Langkah dua kali lagi akan mengungkapkan bahwa konfigurasi pada q 3 tidak diterima baik. Simulator Anda sekarang akan terlihat seperti ini:
Konfigurasi lainnya ditolak
Untuk melanjutkan dengan konfigurasi beku, pilih dan klik Thaw. Simulator sekarang akan melangkah melalui masukan seperti biasa. Klik Langkah tiga kali untuk menemukan konfigurasi menerima. Konfigurasi menerima berwarna hijau:
Konfigurasi Menerima ditemukan
Jika kita klik Langkah lagi, kita akan melihat bahwa konfigurasi terakhir ditolak. Dengan demikian, hanya ada satu konfigurasi menerima. Namun, kami mungkin tidak yakin bahwa ini benar-benar terjadi, karena kami telah dihapus beberapa konfigurasi. Kita bisa memeriksa dengan mengatur ulang simulator.

Reset simulator

Pada setiap titik dalam simulasi, kita dapat me-restart proses simulasi seluruh dengan mengklik Reset. Ini akan menghapus semua konfigurasi saat ini dan restart simulasi. Jika kita klik Reset dan langkah semua konfigurasi, kita akan menemukan bahwa ada, memang, hanya satu menerima konfigurasi.
Ini menyimpulkan walkthrough, meskipun ada lampiran mencatat beberapa fitur yang JFLAP mendukung.
Lampiran
Catatan
Untuk menambahkan catatan ke file JFLAP, pilih Editor Atribut, klik kanan dan pilih "Add Note". Catatan ini akan dimulai dengan pesan "insert_text". Untuk mengubah teks cukup klik pada catatan, pilih mana Anda ingin mulai mengetik, dan ketik catatan Anda. Klik di luar catatan untuk menyingkirkan kursor. Klik dan tarik catatan untuk memindahkannya.
< 

Seleksi
Untuk memilih lebih dari satu negara atau blok sekaligus, pilih editor atribut, klik pada ruang kosong, dan tarik mouse. Sebuah kotak berlari muncul dan semua negara dan blok dalam kotak yang dipilih, warna mereka sekarang biru. Untuk memindahkan negara yang dipilih sebagai sebuah kelompok, klik dan tarik salah satu dari mereka. Untuk batal memilih mereka, klik di tempat lain.


NPDAs nondeterministic
NPDAs nondeterministic bekerja dengan cara yang sama. Salah satu contoh adalah di bawah ini, mana yang dapat mengakses secara online di sini di sini .


Berikut ini adalah simulasi dari "Input → Langkah demi Penutupan" dengan string "aabb":

Mulai
Langkah 1
Langkah 2
Sekarang adalah saat nondeterminism mulai menyatakan diri, dan robot dapat mengambil lebih dari satu jalur. Langkah-langkah terakhir meliputi semua permutasi yang mungkin program dapat mengambil, dengan satu jalur berhasil pada akhirnya.
Langkah 3
Langkah 4
Hasil
(Catatan: Contoh ini diambil dari JFLAP:. Sebuah Bahasa Formal dan Automata Interaktif Paket oleh Susan Rodger dan Thomas Finley)

Perintah tata letak (per JFLAP versi 6.2)

JFLAP sekarang akan membiarkan Anda menerapkan standar perintah tata letak grafik ke grafik Anda, yang dapat membantu dengan grafik lebih estetis. Ada menu baru di jendela editor robot, "View" menu, yang akan memungkinkan seseorang untuk baik menyimpan tabel grafik saat ini dan untuk menerapkan perintah tata letak grafik yang berbeda dan algoritma. Untuk tutorial lengkap tentang cara menggunakan fitur ini, dan melihat deskripsi perintah tata letak built-in, merasa bebas untuk membaca tutorial perintah tata letak.
Berikut ini adalah gambar dari hingga otomat digunakan sebelumnya, ex1.3a.jff , dengan layout grafik baru. Gambar pertama menunjukkan otomat bawah "GEM" algoritma tata letak, yang kedua di bawah "Pohon (Degree, Vertical)" algoritma tata letak, dan terakhir di bawah "Dua Lingkaran" algoritma tata letak.




Demikian tutorial singkat kami pada pembangunan automata terbatas. Terima kasih untuk membaca!



Sumber :


Tidak ada komentar:

Posting Komentar