comparison 2015/0519.html @ 26:cbdddbccca58

add some images
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Tue, 19 May 2015 18:15:44 +0900
parents 2015/0512.html@ef709768b9cf
children 33f5506858bd
comparison
equal deleted inserted replaced
25:ef709768b9cf 26:cbdddbccca58
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta http-equiv="content-type" content="text/html;charset=utf-8">
5 <title>seminar</title>
6
7 <!--
8 Notes on CSS media types used:
9
10 1) projection -> slideshow mode (display one slide at-a-time; hide all others)
11 2) screen -> outline mode (display all slides-at-once on screen)
12 3) print -> print (and print preview)
13
14 Note: toggle between projection/screen (that is, slideshow/outline) mode using t-key
15
16 Questions, comments?
17 - send them along to the mailinglist/forum online @ http://groups.google.com/group/webslideshow
18 -->
19
20 <!-- styles -->
21 <style media="screen,projection">
22
23 html,
24 body,
25 .presentation { margin: 0; padding: 0; }
26
27 .slide { display: none;
28 position: absolute;
29 top: 0; left: 0;
30 margin: 0;
31 border: none;
32 padding: 2% 4% 0% 4%; /* css note: order is => top right bottom left */
33 -moz-box-sizing: border-box;
34 -webkit-box-sizing: border-box;
35 box-sizing: border-box;
36 width: 100%; height: 100%; /* css note: lets use border-box; no need to add padding+border to get to 100% */
37 overflow-x: hidden; overflow-y: auto;
38 z-index: 2;
39 }
40
41 .slide.current { display: block; } /* only display current slide in projection mode */
42
43 .slide .stepcurrent { color: black; }
44 .slide .step { color: silver; } /* or hide next steps e.g. .step { visibility: hidden; } */
45
46 .slide {
47 /*
48 background-image: -webkit-linear-gradient(top, blue, aqua, blue, aqua);
49 background-image: -moz-linear-gradient(top, blue, aqua, blue, aqua);
50 */
51 }
52 </style>
53
54 <style media="screen">
55 .slide { border-top: 1px solid #888; }
56 .slide:first-child { border: none; }
57 </style>
58
59 <style media="print">
60 .slide { page-break-inside: avoid; }
61 .slide h1 { page-break-after: avoid; }
62 .slide ul { page-break-inside: avoid; }
63 </style>
64
65
66 <!-- add js lib (jquery) -->
67 <script src="js/jquery-1.7.min.js"></script>
68
69 <!-- S6 JS -->
70 <script src="js/jquery.slideshow.js"></script>
71 <script src="js/jquery.slideshow.counter.js"></script>
72 <script src="js/jquery.slideshow.controls.js"></script>
73 <script>
74 $(document).ready( function() {
75 Slideshow.init();
76
77 // Example 2: Start Off in Outline Mode
78 // Slideshow.init( { mode: 'outline' } );
79
80 // Example 3: Use Custom Transition
81 // Slideshow.transition = transitionScrollUp;
82 // Slideshow.init();
83
84 // Example 4: Start Off in Autoplay Mode with Custom Transition
85 // Slideshow.transition = transitionScrollUp;
86 // Slideshow.init( { mode: 'autoplay' } );
87 } );
88 </script>
89
90 </head>
91 <body>
92
93 <div class="presentation">
94
95 <div class='slide cover'>
96 <table width="90%" height="90%" border="0" align="center">
97 <tr>
98 <td><div align="center">
99 <h1>Cerium での正規表現の実装</h1>
100 </div>
101 </td>
102 </tr>
103 <tr>
104 <td><div align="right">
105 <name>Masataka Kohagura 12th, May , 2015</name>
106 </div></td>
107 </tr>
108 </tr>
109 </table>
110 </div>
111
112 <div id="cover">
113 <h1>研究目的</h1>
114 <ul>
115 <li>
116 当研究室では並列プログラミングフレームワーク Cerium Task Manager でプログラミングを行っている。
117 </li>
118 <li>
119
120 </li>
121 <li>
122 </li>
123 <li>
124 </li>
125 </ul>
126 </div>
127
128 <div id="cover">
129 <h1>正規表現について</h1>
130 <ul>
131 <li>
132 文字列の一部をパターン化して表現する手法
133 </li>
134 <li>
135 文章からあるパターン文字列を検索したいときに使用する <br>
136 (e.g. 「ed」が末尾に含まれる英単語を検索する場合 : .*ed)<br>
137 . (ピリオド) : 改行コード以外の任意の1文字<br>
138 * : 直前の文字の 0 回以上の繰返し
139 </li>
140 </ul>
141 </div>
142
143 <div id="cover">
144 <h1>オートマトンについて</h1>
145 <ul>
146 <li>
147 入力に対して内部の状況に応じた処理を行う結果を出力する仮想的な自動機械の概念
148 </li>
149 <li>
150 正規表現はオートマトンで表現することができる。
151 </li>
152 <li>
153 非決定性有限オートマトン NFA(Non-deterministic Finite Automaton)と、非決定性有限オートマトンDFA(Deterministic Finite Automaton)が存在する。
154 </li>
155 <li>
156 非決定性有限オートマトン : 1つの入力に対して複数の遷移先が存在する
157 </li>
158 <object data="images/vector/nfa.svg" type="image/svg+xml"></object>
159 <li>
160 決定性有限オートマトン : 1つの入力に対して遷移先が1つだけ
161 </li>
162 <object data="images/vector/dfa.svg" type="image/svg+xml"></object>
163
164 </ul>
165 </div>
166
167 <div id="cover">
168 <h1>正規表現の基本三演算</h1>
169 <ul>
170 <li>
171 正規表現は「連接」「選択」「繰返し」の演算が備えられている<br>
172 R,S という 2 つの正規表現が存在すると仮定する。<br>
173 <b>連接 「RS」</b>: R の直後に S が続くパターン<br>
174 <ul>(e.g.) RS, RRS, RSS, RRSS, ...<br></ul>
175 <object data="images/vector/rensetsu.svg" type="image/svg+xml"></object><br>
176 <b>選択 「R|S」</b>: R もしくは S が出現するパターン<br>
177 <ul>(e.g.) R, S, RS, ...<br></ul>
178 <object data="images/vector/sentaku.svg" type="image/svg+xml"></object><br>
179 <b>繰返し 「R*S」</b>: 「*」の直前(R)が 0 回以上出現するパターン<br>
180 <ul>(e.g.) S, RS, RRS, RRRS, ...</ul><br>
181 <object data="images/vector/star.svg" type="image/svg+xml"></object><br>
182 </li>
183 <li>
184 基本三演算は結合順位が存在する<br>
185 <ul>繰返し &gt; 連接 &gt; 選択</ul>
186 </li>
187 </ul>
188 </div>
189
190 <div id="cover">
191 <h1>正規表現の他の演算</h1>
192 <ul>
193 <li>
194 <b>「R+S」</b>: 「+」の直前のパターンが 1 回以上出現するパターン<br>
195 <ul>(e.g.) RS, RRS, RRRS, ...</ul>
196 <ul>R+S ≡ R(R*)S</ul>
197 </li>
198 <li>
199 <li>
200 <b>「R?S」</b>: 「?」の直前のパターンが 0 or 1 回出現するパターン<br>
201 <ul>(e.g.) S, RS</ul>
202 </li>
203 <li>
204 <b>「R{1,3}」</b>: 「{}」の直前のパターンが 1 〜 3 回出現するパターン<br>
205 <ul>(e.g.) R, RR, RRR</ul>
206 </li>
207 <li>
208 <b>「R{1,}」</b>: 「{}」の直前のパターンが 1 回以上出現するパターン<br>
209 <ul>(e.g.) R, RR, RRR, ...</ul>
210 <ul>R+S ≡ R(R*)S ≡ R{1,}S</ul>
211 </li>
212 </ul>
213 </div>
214
215 <div id="cover">
216 <h1>実装について</h1>
217 まずは基本三演算を実装していく。
218 <ul>
219 <li>
220 R*(T|S)U をオートマトンで表現してみる
221 </li>
222 <object data="images/vector/rtsu-automaton.svg" type="image/svg+xml"></object>
223 <li>
224 状態と入力に対する遷移先、遷移したかどうかフラグで管理する。
225 </li>
226 <pre>
227 <code>
228 typedef struct Automaton {
229 int state;
230 unsigned char input_char;
231 int next_state;
232 bool next_state;
233 };
234 </code>
235 </pre>
236 <object data="images/vector/rtsu-automatondata.svg" type="image/svg+xml"></object>
237 </ul>
238 </div>
239
240 <!--
241 <div id="cover">
242 <h1>prog</h1>
243 <ul>
244 <li>
245
246 </li>
247
248 <pre>
249 <code>
250 typedef struct SDL_AudioSpec {
251 int freq; /** DSP frequency samples per second */
252 Uint16 format; /** Audio data format */
253 Uint8 channels; /** Number of channels: 1 mono, 2 stereo */
254 Uint8 silence; /** Audio buffer silence value (calculated) */
255 Uint16 samples; /** Audio buffer size in samples (power of 2) */
256 Uint16 padding; /** Necessary for some compile environments */
257 Uint32 size; /** Audio buffer size in bytes (calculated) */
258 void (SDLCALL *callback)(void *userdata, Uint8 *stream, int len);
259 void *userdata;
260 } SDL_AudioSpec;
261 </code>
262 </ul>
263 </pre>
264 <img src="./images/sqrWave.png" width="50%" height="">
265 </div>
266
267 -->
268
269 </div> <!-- presentation -->
270 </body>
271 </html>