Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hayd1n/cs2022301-state-minimization
112.1【資工系】CS2022301 數位系統設計 Digital System Design Project03 State Minimization
https://github.com/hayd1n/cs2022301-state-minimization
ntust
Last synced: 1 day ago
JSON representation
112.1【資工系】CS2022301 數位系統設計 Digital System Design Project03 State Minimization
- Host: GitHub
- URL: https://github.com/hayd1n/cs2022301-state-minimization
- Owner: hayd1n
- Created: 2023-11-11T17:03:52.000Z (12 months ago)
- Default Branch: master
- Last Pushed: 2023-11-29T13:04:24.000Z (11 months ago)
- Last Synced: 2024-08-15T09:54:16.438Z (3 months ago)
- Topics: ntust
- Language: C++
- Homepage: https://crt-hao.github.io/ntust/CS2022301/state_minimization/
- Size: 1.28 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CS2022301-State-Minimization
> 資訊工程系 二年級 乙班 張皓鈞 B11030202## Requirements
- GNU GCC/Clang with C++14 supported
- CMake >= 3.18
- Make or Ninja build tool> MSVC(Microsoft Visual C++) may be supported, but not tested
## Build
Use CMake to build the program
```bash
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
```## Usage
```
Usage: ./state_minimization [--debug]
```## Example
```bash
./state_minimization ./input.kiss ./output.kiss ./output.dot
Success
```## Test platform
![neofetch](./assets/neofetch.png)
### macOS
```
Darwin haodeMacBook-Pro.local 23.1.0 Darwin Kernel Version 23.1.0: Mon Oct 9 21:28:12 PDT 2023; root:xnu-10002.41.9~6/RELEASE_ARM64_T8103 arm64
```### Apple Clang
```
Apple clang version 15.0.0 (clang-1500.0.40.1)
Target: arm64-apple-darwin23.1.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
```### CMake
```
cmake version 3.26.4
```### Ninja
```
1.11.1
```### Graphviz dot
```
dot - graphviz version 9.0.0 (20230911.1827)
```## Test case
[./examples/set00/case1/input.kiss](./examples/set00/case1/input.kiss)
### Input kiss
```kiss
.start_kiss
.i 1
.o 1
.p 14
.s 7
.r a
0 a b 0
1 a c 0
0 b d 0
1 b e 0
0 c f 0
1 c a 0
0 d h 0
1 d g 0
0 e b 1
1 e c 0
0 f d 0
1 f e 0
0 g f 1
1 g a 0
0 h h 0
1 h a 1
.end_kiss
```### Input dot
```dot
digraph STG {
rankdir=LR;INIT [shape=point];
a [label="a"];
b [label="b"];
c [label="c"];
d [label="d"];
e [label="e"];
f [label="f"];
h [label="h"];
g [label="g"];INIT -> a;
a -> b [label="0/0"];
a -> c [label="1/0"];
b -> d [label="0/0"];
b -> e [label="1/0"];
c -> f [label="0/0"];
c -> a [label="1/0"];
d -> h [label="0/0"];
d -> g [label="1/0"];
e -> b [label="0/1"];
e -> c [label="1/0"];
f -> d [label="0/0"];
f -> e [label="1/0"];
h -> h [label="0/0"];
h -> a [label="1/1"];
g -> f [label="0/1"];
g -> a [label="1/0"];
}
```### Input PNG
![test_output](./assets/test_output.png)
### Output kiss
```kiss
.start_kiss
.i 1
.o 1
.p 10
.s 5
.r a
0 a b 0
1 a a 0
0 b d 0
1 b e 0
0 d h 0
1 d e 0
0 e b 1
1 e a 0
0 h h 0
1 h a 1
.end_kiss
```### Output dot
```dot
digraph STG {
rankdir=LR;INIT [shape=point];
a [label="a"];
b [label="b"];
d [label="d"];
e [label="e"];
h [label="h"];INIT -> a;
a -> b [label="0/0"];
a -> a [label="1/0"];
b -> d [label="0/0"];
b -> e [label="1/0"];
d -> h [label="0/0"];
d -> e [label="1/0"];
e -> b [label="0/1"];
e -> a [label="1/0"];
h -> h [label="0/0"];
h -> a [label="1/1"];
}
```### Output PNG
![output](./assets/output.png)