An Introduction to OSL

Size: px
Start display at page:

Download "An Introduction to OSL"

Transcription

1 .... An Introduction to OSL TeamGPS CSA (TeamGPS) An Introduction to OSL CSA 1 / 45

2 : (TeamGPS) An Introduction to OSL CSA 2 / 45

3 Disclaimer: OSL Bonanza Crafty (pruning/cut, ) bitboard OSL GPS (i.e., ) osl::rating::standardfeatureset gps normal osl::eval::progresseval gps l osl::eval::experimental::testeval!? (TeamGPS) An Introduction to OSL CSA 3 / 45

4 GPS OSL GPS : GPS game programing seminar ( ) , , , 1 6, ( ) : Bonanza! 0 OSL ( ) Microsoft Windows (TeamGPS) An Introduction to OSL CSA 4 / 45

5 OSL (Open Shogi Library) GPS BSD osl-for-csa OSL CSA CSA BSD GPS OSL GPL ( ) (TeamGPS) An Introduction to OSL CSA 5 / 45

6 ( ) osl-for-csa gpsshogi/index.php?osl%2fosl-for-csa OSL/GPSShogi : http: //gps.tanaka.ecc.u-tokyo.ac.jp/gpsshogi/ : u-tokyo.ac.jp/cgi-bin/viewvc.cgi/ (Download GNU tarball ) : (TeamGPS) An Introduction to OSL CSA 6 / 45

7 A: : : ( ) B: C: (c.f. ) (e.g., alphabeta2.cc, alphabeta3.cc) (TeamGPS) An Introduction to OSL CSA 7 / 45

8 : osl/sample/random play.cc NumEffectState state; // std::string line; while (true) { MoveVector moves; // LegalMoves::generate(state, moves); // if (moves.empty()) Move my move = moves[random()]; // ApplyMoveOfTurn::doMove(state, my move); // std::getline(std::cin, line); Move op move=csa::strtomove(line, state); // ApplyMoveOfTurn::doMove(state, op move); // } (TeamGPS) An Introduction to OSL CSA 8 / 45

9 C++ a.b() a::b() a b a::b() namespace a b C++ C++ 3 (TeamGPS) An Introduction to OSL CSA 9 / 45

10 : template (1) template (2) template.. : (TeamGPS) An Introduction to OSL CSA 10 / 45

11 : : e.g., : C++ template e.g., boost e.g., cppunit, boost::test, gtest (TeamGPS) An Introduction to OSL CSA 11 / 45

12 (1) template ( )...3 (TeamGPS) An Introduction to OSL CSA 12 / 45

13 (turn, state, kingx, kingy) { // y = (turn == )? kingy-2 : kingy+2; if ((kingx, y) ) { promote = (turn == )? y<=4 : y >= 6; if (promote) }... }! (TeamGPS) An Introduction to OSL CSA 13 / 45

14 : (1) if (turn == ) { y = kingy-2; if ((kingx, y) ) { if (y<=4) } } else { y = kingy+2; if ((kingx, y) ) { if (y>=6) } 2 (TeamGPS) An Introduction to OSL CSA 14 / 45

15 : (2) (turn, state, kingx, kingy) { // y = kingy+front king[turn]; if ((kingx, y) ) { promote = y*to black y[turn][y]<=4; if (promote) }... } 1 (TeamGPS) An Introduction to OSL CSA 15 / 45

16 : template turn template Turn template Player Turn (state, kingx, kingy) { // y = (Turn == )? kingy-2 : kingy+2; if ((kingx, y) ) { promote = (Turn == )? y<=4 : y >= 6; if (promote) }... } (TeamGPS) An Introduction to OSL CSA 16 / 45

17 : template (state, 4, 6); Turn // y = (Turn == )? kingy-2 : kingy+2; if ((kingx, y) ) { promote = (Turn == )? y<=4 : y >= 6; if (promote) } (TeamGPS) An Introduction to OSL CSA 17 / 45

18 : template (state, 4, 6); Turn // y = ( == )? kingy-2 : kingy+2; if ((kingx, y) ) { promote = ( == )? y<=4 : y >= 6; if (promote) } (TeamGPS) An Introduction to OSL CSA 18 / 45

19 : template (state, 4, 6); Turn // y = kingy-2; if ((kingx, y) ) { promote = y<=4; if (promote) } (TeamGPS) An Introduction to OSL CSA 19 / 45

20 : template template Turn template Turn ( ) template Player Turn (state, kingx, kingy) { // y = (Turn == )? kingy-2 : kingy+2; if ((kingx, y) ) { promote = (Turn == )? y<=4 : y >= 6; if (promote)... }... (TeamGPS) An Introduction to OSL CSA 20 / 45

21 template : partial specialization Fibonacci: template int A struct Fib {static const int val=fib A-1 ::val+fib A-2 ::val; }; A=1 template struct Fib 1 {static const int val=1;}; A=0 template struct Fib 0 {static const int val=0;};? int fib3() { return Fib 3 ::val; } Fib 3 (TeamGPS) An Introduction to OSL CSA 21 / 45

22 Fibonacci template int A struct Fib {static const int val=fib A-1 ::val+fib A-2 ::val; }; A=1 template struct Fib 1 {static const int val=1;}; A=0 template struct Fib 0 {static const int val=0;};? int fib3() { return Fib 3 ::val; } Fib 3 ::val = Fib 2 ::val + Fib 1 ::val; (TeamGPS) An Introduction to OSL CSA 22 / 45

23 Fibonacci template int A struct Fib {static const int val=fib A-1 ::val+fib A-2 ::val; }; A=1 template struct Fib 1 {static const int val=1;}; A=0 template struct Fib 0 {static const int val=0;};? int fib3() { return Fib 3 ::val; } // Fib 3 ::val = Fib 2 ::val + Fib 1 ::val; // Fib 2 ::val = Fib 1 ::val + Fib 0 ::val; return (1+0)+1; (TeamGPS) An Introduction to OSL CSA 23 / 45

24 partial specialization : 10 template! (kingx, kingy); PtypeTraits (osl/include/ptypetraits.h) (TeamGPS) An Introduction to OSL CSA 24 / 45

25 template : : : : : (*) template : (TeamGPS) An Introduction to OSL CSA 25 / 45

26 template : : (A): (B):?? A B 1: A B...1 2: ( ) for ( ) (TeamGPS) An Introduction to OSL CSA 26 / 45

27 template template typename X () { m X(m) } X : () () : osl/include/osl/move action/store.h (TeamGPS) An Introduction to OSL CSA 27 / 45

28 ( int)...4 enum: Player, Ptype, PtypeO, class: Position, Offset, Move : (TeamGPS) An Introduction to OSL CSA 28 / 45

29 enum Player Player: BLACK (0), WHITE (-1) // -1? : include/osl/player.h : Player pl = BLACK, pl2 = alt(pl); // pl2 == WHITE int v = 10 * playertomul(pl); // (pl == BLACK && v = 10) (pl == WHITE && v = 10) int a[2] = { 100, 200 }; int b = a[playertoindex(pl)]; // (pl == BLACK && b = 100) (pl == WHITE && b = 200) (TeamGPS) An Introduction to OSL CSA 29 / 45

30 template class CArray template typename T, size t Capacity class CArray; : C +assert : include/osl/misc/carray.h : CArray int,2 a; // int a[2]; ( ) CArray char,3 b; // char b[2]; ( ) CArray int,2 c = {{5,8}}; // int c[2] = {5,8}; // c[0] == 5, c[1] == 8 // c[playertoindex(black)] == 5, c[playertoindex(white)] == 8 // c[black] == 5, c[white] == 8 (TeamGPS) An Introduction to OSL CSA 30 / 45

31 enum Ptype Ptype KING, GOLD, PAWN, LANCE, KNIGHT, GOLD, SILVER, BISHOP, ROOK (EMPTY, EDGE) P PPAWN,... PROOK (c.f., Bonanza Dragon) : 8 : include/osl/ptype.h : Ptype rook = ROOK, prook = promote(rook); // prook == PROOK // unpromote(prook) == ROOK // unpromote(pawn) == PAWN // unpromote(gold) == GOLD (TeamGPS) An Introduction to OSL CSA 31 / 45

32 enum PtypeO PtypeO Ptype + Player (O Owner) : BLACK, WHITE : include/osl/ptype.h : PtypeO ptypeo = newptypeo(black, PROOK); // getptype(ptypeo) == PROOK // getowner(ptypeo) == BLACK // captured(ptypeo) == newptypeo(white, ROOK) // eval.value(newptypeo(black, PAWN)) // == -eval.value(newptypeo(white, PAWN)) (TeamGPS) An Introduction to OSL CSA 32 / 45

33 class Position, Offset Position: file + rank ( Square?) : x*16+y+1 Offset: Position include/osl/{position,offset}.h, lib/offset.cc : Position p27(2,7), p26(2,6); // p26.x() == 2, p26.y() == 6; Offset o(0, -1), o2 = p26 - p27; // o == o2; // p27+o == p26, (p26+o) == Position(2,5); // p27.canpromote(black) == false // p27.canpromote(white) == true // p27.canpromote BLACK () == false (TeamGPS) An Introduction to OSL CSA 33 / 45

34 enum Direction Direction 10 : UL, U, UR, L, R, DL, D, DR, UUL, UUR, : LONG UL, LONG U,..., LONG DR : include/osl/direction,directiontraits.h : // shorttolong(u) == LONG U // longtoshort(long U) == U : // DirectionPlayerTraits BLACK,U ::offset() // == -DirectionPlayerTraits WHITE,U ::offset() // DirectionPlayerTraits BLACK,U ::offset() == Offset(0,1) (TeamGPS) An Introduction to OSL CSA 34 / 45

35 class Piece Piece: (Position+PtypeO ) : include/osl/piece.h,lib/piece.cc : Piece p =.getpieceat(position(7,7)); // p.position() == Position(7,7) // p.ptypeo() == newptypeo(black, PAWN) // p.owner() == BLACK // p.ptype() == ROOK (TeamGPS) An Introduction to OSL CSA 35 / 45

36 class Move Move: : include/osl/move.h,lib/move.cc : Move m76(position(7,7), Position(7,6), PAWN, PTYPE EMPTY, false, BLACK); // m76.to() == Position(7,6) // m76.to() == Position(7,7) // m76.ptype() == PAWN // m76.captureptype() == PTYPE EMPTY // m76.ispromote() == false // m76.isdrop() == false // m76.player() == BLACK (TeamGPS) An Introduction to OSL CSA 36 / 45

37 C++ Q. OSL PtypeO enum Piece class PtypeO class getowner class? A. (TeamGPS) An Introduction to OSL CSA 37 / 45

38 : (TeamGPS) An Introduction to OSL CSA 38 / 45

39 : (c.f. YSS) : include/osl/state/{simple,numeffect}state.{h,tcc} : CArray PieceMask,2 stand mask; CArray Piece,Position::SIZE board; CArray Piece,Piece::SIZE pieces; x bitset CArray BitXmask,2 pawnmask; CArray PieceMask,2 onboardmask; PieceMask promoted; (TeamGPS) An Introduction to OSL CSA 39 / 45

40 : include/osl/effect/numsimpleeffect.{h,tcc} : 0-39 : : : (sentinel 6bit) : (sentinel 6bit) : popcount cpu bit 1 (TeamGPS) An Introduction to OSL CSA 40 / 45

41 : include/osl/move generator/escape.{h,tcc} (TeamGPS) An Introduction to OSL CSA 41 / 45

42 Q&A ( ) Q. template inline? A. GPS inline Q. A. Q. gps l? A. osl/include/osl/eval/experimental/testeval.h osl/lib/eval/experimental/testeval.cc osl-for-csa OSL ( 6 ) (TeamGPS) An Introduction to OSL CSA 42 / 45

43 Q&A ( ) Q. gps l? A. gps normal gps l opteron Q.? A.? Q.? A. 2 5x5 Q. A. floodgate (TeamGPS) An Introduction to OSL CSA 43 / 45

44 Q&A ( ) Q. (J )? A. GPW2008 = 1 T ( ξ(i) ξ( ) ) i (ξ T(x) T(x) = 1/(1 + exp( 3x/128)) 128 ) ( ) Q. J =2.9? A. 3 k-fold cross validation (TeamGPS) An Introduction to OSL CSA 44 / 45

45 Q&A ( ) Q. A. GPW08 l 1 Q ? A. Q. A. % root Q. mpn A. beta cut beta cut alpha (TeamGPS) An Introduction to OSL CSA 45 / 45

The 15th Game Programming Workshop 2010 Magic Bitboard Magic Bitboard Bitboard Magic Bitboard Bitboard Magic Bitboard Magic Bitboard Magic Bitbo

The 15th Game Programming Workshop 2010 Magic Bitboard Magic Bitboard Bitboard Magic Bitboard Bitboard Magic Bitboard Magic Bitboard Magic Bitbo Magic Bitboard Magic Bitboard Bitboard Magic Bitboard Bitboard Magic Bitboard 64 81 Magic Bitboard Magic Bitboard Bonanza Proposal and Implementation of Magic Bitboards in Shogi Issei Yamamoto, Shogo Takeuchi,

More information

- - http://168iroha.net 018 10 14 i 1 1 1.1.................................................... 1 1.................................................... 7.1................................................

More information

Java演習(4) -- 変数と型 --

Java演習(4)   -- 変数と型 -- 50 20 20 5 (20, 20) O 50 100 150 200 250 300 350 x (reserved 50 100 y 50 20 20 5 (20, 20) (1)(Blocks1.java) import javax.swing.japplet; import java.awt.graphics; (reserved public class Blocks1 extends

More information

Java updated

Java updated Java 2003.07.14 updated 3 1 Java 5 1.1 Java................................. 5 1.2 Java..................................... 5 1.3 Java................................ 6 1.3.1 Java.......................

More information

i

i 24 19 19115096 i 1 1 2 2 2.1..................................... 2 2.2....................... 3 2.3................................... 3 2.3.1.................. 4 2.4............................... 4

More information

新・明解C言語 実践編

新・明解C言語 実践編 第 1 章 見 21 1-1 見えないエラー 見 List 1-1 "max2x1.h" a, b max2 List 1-1 chap01/max2x1.h max2 "max2x1.h" #define max2(a, b) ((a) > (b)? (a) : (b)) max2 List 1-2 List 1-2 chap01/max2x1test.c max2 #include

More information

untitled

untitled II yacc 005 : 1, 1 1 1 %{ int lineno=0; 3 int wordno=0; 4 int charno=0; 5 6 %} 7 8 %% 9 [ \t]+ { charno+=strlen(yytext); } 10 "\n" { lineno++; charno++; } 11 [^ \t\n]+ { wordno++; charno+=strlen(yytext);}

More information

連載講座 : 高生産並列言語を使いこなす (3) ゲーム木探索問題 田浦健次朗 東京大学大学院情報理工学系研究科, 情報基盤センター 目次 1 概要 17 2 ゲーム木探索 必勝 必敗 引き分け 盤面の評価値 αβ 法 指し手の順序付け (mo

連載講座 : 高生産並列言語を使いこなす (3) ゲーム木探索問題 田浦健次朗 東京大学大学院情報理工学系研究科, 情報基盤センター 目次 1 概要 17 2 ゲーム木探索 必勝 必敗 引き分け 盤面の評価値 αβ 法 指し手の順序付け (mo 連載講座 : 高生産並列言語を使いこなす (3) ゲーム木探索問題 田浦健次朗 東京大学大学院情報理工学系研究科, 情報基盤センター 目次 1 概要 17 2 ゲーム木探索 17 2.1 必勝 必敗 引き分け 17 2.2 盤面の評価値 18 2.3 αβ 法 19 2.4 指し手の順序付け (move ordering) 20 3 Andersson の詰み探索およびその並列化 21 3.1 Andersson

More information

‚æ4›ñ

‚æ4›ñ ( ) ( ) ( ) A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 (OUS) 9 26 1 / 28 ( ) ( ) ( ) A B C D Z a b c d z 0 1 2 9 (OUS) 9

More information

-1-1 1 1 1 1 12 31 2 2 3 4

-1-1 1 1 1 1 12 31 2 2 3 4 2007 -1-1 1 1 1 1 12 31 2 2 3 4 -2-5 6 CPU 3 Windows98 1 -3-2. 3. -4-4 2 5 1 1 1 -5- 50000 50000 50000 50000 50000 50000 50000 50000 50000 50000-6- -7-1 Windows 2 -8-1 2 3 4 - - 100,000 200,000 500,000

More information

解きながら学ぶJava入門編

解きながら学ぶJava入門編 44 // class Negative { System.out.print(""); int n = stdin.nextint(); if (n < 0) System.out.println(""); -10 Ÿ 35 Ÿ 0 n if statement if ( ) if i f ( ) if n < 0 < true false true false boolean literalboolean

More information

Excel97関数編

Excel97関数編 Excel97 SUM Microsoft Excel 97... 1... 1... 1... 2... 3... 3... 4... 5... 6... 6... 7 SUM... 8... 11 Microsoft Excel 97 AVERAGE MIN MAX SUM IF 2 RANK TODAY ROUND COUNT INT VLOOKUP 1/15 Excel A B C A B

More information

r02.dvi

r02.dvi 172 2017.7.16 1 1.1? X A B A X B ( )? IBMPL/I FACOM PL1 ( ) X ( ) 1.2 1 2-0 ( ) ( ) ( ) (12) ( ) (112) (131) 281 26 1 (syntax) (semantics) ( ) 2 2.1 BNF BNF(Backus Normal Form) Joun Backus (grammer) English

More information

解きながら学ぶC++入門編

解きながら学ぶC++入門編 !... 38!=... 35 "... 112 " "... 311 " "... 4, 264 #... 371 #define... 126, 371 #endif... 369 #if... 369 #ifndef... 369 #include... 3, 311 #undef... 371 %... 17, 18 %=... 85 &... 222 &... 203 &&... 40 &=...

More information

ohp02.dvi

ohp02.dvi 172 2017.7.16 1 ? X A B A X B ( )? IBMPL/I FACOM PL1 ( ) X 2 ( ) 3 2-0 ( ) ( ) ( ) (12) ( ) (112) 31) 281 26 1 4 (syntax) (semantics) ( ) 5 BNF BNF(Backus Normal Form) Joun Backus (grammer) English grammer

More information

cpp1.dvi

cpp1.dvi 2017 c 1 C++ (1) C C++, C++, C 11, 12 13 (1) 14 (2) 11 1 n C++ //, [List 11] 1: #include // C 2: 3: int main(void) { 4: std::cout

More information

新版明解C言語 実践編

新版明解C言語 実践編 2 List - "max.h" a, b max List - max "max.h" #define max(a, b) ((a) > (b)? (a) : (b)) max List -2 List -2 max #include "max.h" int x, y; printf("x"); printf("y"); scanf("%d", &x); scanf("%d", &y); printf("max(x,

More information

( ) 1.1 Polychoric Correlation Polyserial Correlation Graded Response Model Partial Credit Model Tetrachoric Correlation ( ) 2 x y x y s r 1 x 2

( ) 1.1 Polychoric Correlation Polyserial Correlation Graded Response Model Partial Credit Model Tetrachoric Correlation ( ) 2 x y x y s r 1 x 2 1 (,2007) SPSSver8 1997 (2002) 1. 2. polychoric correlation coefficient (polyserial correlation coefficient) 3. (1999) M-plus R 1 ( ) 1.1 Polychoric Correlation Polyserial Correlation Graded Response Model

More information

# let st1 = {name = "Taro Yamada"; id = };; val st1 : student = {name="taro Yamada"; id=123456} { 1 = 1 ;...; n = n } # let string_of_student {n

# let st1 = {name = Taro Yamada; id = };; val st1 : student = {name=taro Yamada; id=123456} { 1 = 1 ;...; n = n } # let string_of_student {n II 6 / : 2001 11 21 (OCaml ) 1 (field) name id type # type student = {name : string; id : int};; type student = { name : string; id : int; } student {} type = { 1 : 1 ;...; n : n } { 1 = 1 ;...; n = n

More information

Windows (L): D:\jyugyou\ D:\jyugyou\ D:\jyugyou\ (N): en2 OK 2

Windows (L): D:\jyugyou\ D:\jyugyou\ D:\jyugyou\ (N): en2 OK 2 Windows C++ Microsoft Visual Studio 2010 C++ Microsoft C++ Microsoft Visual Studio 2010 Microsoft Visual Studio 2010 C++ C C++ Microsoft Visual Studio 2010 Professional Professional 1 Professional Professional

More information

BIT -2-

BIT -2- 2004.3.31 10 11 12-1- BIT -2- -3-256 258 932 524 585 -4- -5- A B A B AB A B A B C AB A B AB AB AB AB -6- -7- A B -8- -9- -10- mm -11- fax -12- -13- -14- -15- s58.10.1 1255 4.2 30.10-16- -17- -18- -19-6.12.10

More information

SystemC言語概論

SystemC言語概論 SystemC CPU S/W 2004/01/29 4 SystemC 1 SystemC 2.0.1 CPU S/W 3 ISS SystemC Co-Simulation 2004/01/29 4 SystemC 2 ISS SystemC Co-Simulation GenericCPU_Base ( ) GenericCPU_ISS GenericCPU_Prog GenericCPU_CoSim

More information

Research on decision making in multi-player games with imperfect information

Research on decision making in multi-player games with imperfect information Research on decision making in multi-player games with imperfect information 37-086521 22 2 9 UCT UCT 46 % 60000 9 % 1 1 1.1........................................ 1 1.2.....................................

More information

やさしいJavaプログラミング -Great Ideas for Java Programming サンプルPDF

やさしいJavaプログラミング -Great Ideas for Java Programming サンプルPDF pref : 2004/6/5 (11:8) pref : 2004/6/5 (11:8) pref : 2004/6/5 (11:8) 3 5 14 18 21 23 23 24 28 29 29 31 32 34 35 35 36 38 40 44 44 45 46 49 49 50 pref : 2004/6/5 (11:8) 50 51 52 54 55 56 57 58 59 60 61

More information

cpp4.dvi

cpp4.dvi 2017 c 4 C++ (4) C++, 41, 42, 1, 43,, 44 45, 41 (inheritance),, C++,, 100, 50, PCMCIA,,,,,,,,, 42 1 421 ( ), car 1 [List 41] 1: class car { 2: private: 3: std::string m model; // 4: std::string m maker;

More information

Condition DAQ condition condition 2 3 XML key value

Condition DAQ condition condition 2 3 XML key value Condition DAQ condition 2009 6 10 2009 7 2 2009 7 3 2010 8 3 1 2 2 condition 2 3 XML key value 3 4 4 4.1............................. 5 4.2...................... 5 5 6 6 Makefile 7 7 9 7.1 Condition.h.............................

More information

fp.gby

fp.gby 1 1 2 2 3 2 4 5 6 7 8 9 10 11 Haskell 12 13 Haskell 14 15 ( ) 16 ) 30 17 static 18 (IORef) 19 20 OK NG 21 Haskell (+) :: Num a => a -> a -> a sort :: Ord a => [a] -> [a] delete :: Eq a => a -> [a] -> [a]

More information

double float

double float 2015 3 13 1 2 2 3 2.1.......................... 3 2.2............................. 3 3 4 3.1............................... 4 3.2 double float......................... 5 3.3 main.......................

More information

新・明解Javaで学ぶアルゴリズムとデータ構造

新・明解Javaで学ぶアルゴリズムとデータ構造 第 3 章 探索 Arrays.binarySearch 743 3-1 探索 探索 searching key 配列 探索 Fig.3-1 b c 75 a 6 4 3 2 1 9 8 2 b 64 23 53 65 75 21 3-1 53 c 5 2 1 4 3 7 4 Fig.3-1 a 763 3-2 線形探索 線形探索 linear search sequential search 2

More information

8 if switch for while do while 2

8 if switch for while do while 2 (Basic Theory of Information Processing) ( ) if for while break continue 1 8 if switch for while do while 2 8.1 if (p.52) 8.1.1 if 1 if ( ) 2; 3 1 true 2 3 false 2 3 3 8.1.2 if-else (p.54) if ( ) 1; else

More information

lexex.dvi

lexex.dvi (2018, c ) http://istksckwanseiacjp/ ishiura/cpl/ 4 41 1 mini-c lexc,, 2 testlexc, lexc mini-c 1 ( ) mini-c ( ) (int, char, if, else, while, return 6 ) ( ) (+, -, *, /, %, &, =, ==,!=, >, >=,

More information

untitled

untitled II 4 Yacc Lex 2005 : 0 1 Yacc 20 Lex 1 20 traverse 1 %% 2 [0-9]+ { yylval.val = atoi((char*)yytext); return NUM; 3 "+" { return + ; 4 "*" { return * ; 5 "-" { return - ; 6 "/" { return / ; 7 [ \t] { /*

More information

OpenCV IS Report No Report Medical Information System Labratry

OpenCV IS Report No Report Medical Information System Labratry OpenCV 2014 8 25 IS Report No. 2014090201 Report Medical Information System Labratry Abstract OpenCV OpenCV 1............................ 2 1.1 OpenCV.......................... 2 1.2......................

More information

( ) 3 1 ( ), ( ).. 1

( ) 3 1 ( ), ( ).. 1 30 2019 1 22 ( ) 3 1 ( ), 2-9 5 ( ).. 1 1. ( T):,? ( O):, T:,? O:!?,!?,... T:,,,? O:!?,,, OS? T:,, SSD, OS, CPU, OS SSD,? O:,,...? T: : OS,,, ( ) (1),. Linux, Unix OS. (2), (permission), (owner)., ( :

More information

連載講座 : 高生産並列言語を使いこなす (4) ゲーム木探索の並列化 田浦健次朗 東京大学大学院情報理工学系研究科, 情報基盤センター 目次 1 準備 問題の定義 αβ 法 16 2 αβ 法の並列化 概要 Young Brothers Wa

連載講座 : 高生産並列言語を使いこなす (4) ゲーム木探索の並列化 田浦健次朗 東京大学大学院情報理工学系研究科, 情報基盤センター 目次 1 準備 問題の定義 αβ 法 16 2 αβ 法の並列化 概要 Young Brothers Wa 連載講座 : 高生産並列言語を使いこなす (4) ゲーム木探索の並列化 田浦健次朗 東京大学大学院情報理工学系研究科, 情報基盤センター 目次 1 準備 16 1.1 問題の定義 16 1.2 αβ 法 16 2 αβ 法の並列化 17 2.1 概要 17 2.2 Young Brothers Wait Concept 17 2.3 段数による逐次化 18 2.4 適応的な待機 18 2. 強制終了

More information

1 C STL(1) C C C libc C C C++ STL(Standard Template Library ) libc libc C++ C STL libc STL iostream Algorithm libc STL string vector l

1 C STL(1) C C C libc C C C++ STL(Standard Template Library ) libc libc C++ C STL libc STL iostream Algorithm libc STL string vector l C/C++ 2007 6 18 1 C STL(1) 2 1.1............................................... 2 1.2 stdio................................................ 3 1.3.......................................... 10 2 11 2.1 sizeof......................................

More information

明解Javaによるアルゴリズムとデータ構造

明解Javaによるアルゴリズムとデータ構造 74 searching 3 key Fig.3-1 75 2を探索 53を探索 3-1 5 2 1 4 3 7 4 を探索 Fig.3-1 76 3 linear searchsequential search 2 Fig.3-2 0 ❶ ❷ ❸ 配列の要素を先頭から順に走査していく 探索すべき値と等しい要素を発見 Fig.3-2 6 4 3 2 3-2Fig.3-3 77 5 Fig.3-3 0

More information

untitled

untitled H8/300,H8S,H8SX [H8S,H8/300 Tool Chain Ver6.2.0.0] #define Inline static inline //************************************************** Inline char sil_and_mem(char *mem,char and) return (*((volatile

More information

2

2 2 3 Page 4 5 6 A-1B-1 C0 D0 E0 F0 G0 A0 B0 C1 D1 E1 F1 G1 A1 B1 C2 D2 E2 F2 G2 A2 B2 C3 D3 E3 7 F3 G3 A3 B3 C4 D4 E4 F4 G4 A4 B4 C5 D5 E5 F5 G5 A5 B5 C6 D6 E6 F6 G6 A6 B6 C7 8 Page 9 1 2 3 1 2 10 1 11

More information

Microsoft Word - Antenna_Magus_InstallationGuide_v5_JP.docx

Microsoft Word - Antenna_Magus_InstallationGuide_v5_JP.docx AntennaMagus 1 1 Antenna Magus AETsupport@aetjapan.com 1.1 Antenna Magus 32 bit 64 bit Windows OS PC Windows OS Windows XPSP1 Windows Server 2003Windows VistaWindows 7Windows 8 Antenna Magus LAN Antenna

More information

PC Windows 95, Windows 98, Windows NT, Windows 2000, MS-DOS, UNIX CPU

PC Windows 95, Windows 98, Windows NT, Windows 2000, MS-DOS, UNIX CPU 1. 1.1. 1.2. 1 PC Windows 95, Windows 98, Windows NT, Windows 2000, MS-DOS, UNIX CPU 2. 2.1. 2 1 2 C a b N: PC BC c 3C ac b 3 4 a F7 b Y c 6 5 a ctrl+f5) 4 2.2. main 2.3. main 2.4. 3 4 5 6 7 printf printf

More information

K227 Java 2

K227 Java 2 1 K227 Java 2 3 4 5 6 Java 7 class Sample1 { public static void main (String args[]) { System.out.println( Java! ); } } 8 > javac Sample1.java 9 10 > java Sample1 Java 11 12 13 http://java.sun.com/j2se/1.5.0/ja/download.html

More information

I 2 tutimura/ I 2 p.1/??

I 2   tutimura/ I 2 p.1/?? I 2 tutimura@mist.i.u-tokyo.ac.jp http://www.misojiro.t.u-tokyo.ac.jp/ tutimura/ 2002 4 25 I 2 p.1/?? / / Makefile I 2 p.2/?? Makefile make GNU make I 2 p.3/?? Makefile L A T E X I 2 p.4/?? core (1) gcc,

More information

6 1873 6 6 6 2

6 1873 6 6 6 2 140 2012 12 12 140 140 140 140 140 1 6 1873 6 6 6 2 3 4 6 6 19 10 39 5 140 7 262 24 6 50 140 7 13 =1880 8 40 9 108 31 7 1904 20 140 30 10 39 =1906 3 =1914 11 6 12 20 1945.3.10 16 1941 71 13 B29 10 14 14

More information

2008 DS T050049

2008 DS T050049 DS T050049. PSP DS DS DS RPG DS OS Windows XP DevkiPro OS DS CPU ARM devkitarm MSYS MinGW MSYS MinGW Unix OS C++ C++ make nds nds DS DS micro SD Card nds DS DS DS nds C Java C++ nds nds DS 2008 DS T050049

More information

program.dvi

program.dvi 2001.06.19 1 programming semi ver.1.0 2001.06.19 1 GA SA 2 A 2.1 valuename = value value name = valuename # ; Fig. 1 #-----GA parameter popsize = 200 mutation rate = 0.01 crossover rate = 1.0 generation

More information

CudaWaveField

CudaWaveField CudaWaveField 2012 3 22 2 CudaWaveField Rel 1.0.0 Rel 1.0 CudaWaveField ( cwfl) / cwfl cwfl http://www.laser.ee.kansai-u.ac.jp/wavefieldtools Note Acrobat Reader 3 I CudaWaveField 9 1 11 1.1 CudaWaveField......................

More information

P1-1 P1-2 P1-3 P1-4 P1-5 P1-6 P3-1 P3-2 P3-3 P3-4 P3-5 P3-6 P5-1 P5-2 P5-3 P5-4 P5-5 P5-6 P7-1 P7-2 P7-3 P7-4 P7-5 P7-6 P9-1 P9-2 P9-3 P9-4 P9-5 P9-6 P11-1 P11-2 P11-3 P11-4 P13-1 P13-2 P13-3 P13-4 P13-5

More information

(STL) STL 1 (deta structure) (algorithm) (deta structure) 2 STL STL (Standard Template Library) 2.1 STL STL ( ) vector<int> x; for(int i = 0; i < 10;

(STL) STL 1 (deta structure) (algorithm) (deta structure) 2 STL STL (Standard Template Library) 2.1 STL STL ( ) vector<int> x; for(int i = 0; i < 10; (STL) STL 1 (deta structure) (algorithm) (deta structure) 2 STL STL (Standard Template Library) 2.1 STL STL ( ) vector x; for(int i = 0; i < 10; ++i) x.push_back(i); vector STL x.push_back(i) STL

More information

C# ++ MASA C# ( ) XNA 1.1 C# ( ) VisualStuio XNA 4.0 VisualStuio XNA 3.1 * * *3 2.1 VisualStuio Windows ( TextGam

C# ++ MASA C# ( ) XNA 1.1 C# ( ) VisualStuio XNA 4.0 VisualStuio XNA 3.1 * * *3 2.1 VisualStuio Windows ( TextGam C# ++ MASA 2011 8 1 C# ( ) XNA 1.1 C# ( ) VisualStuio 2010 + XNA 4.0 VisualStuio 2008 + XNA 3.1 *1 1.2 1 *2 1.3 2 *3 2.1 VisualStuio Windows ( TextGame2 ) OK *1 XNA 3.1 4.0 *2 *3 1 TextGame2 ( Ship ) 32*32

More information

一般演題(ポスター)

一般演題(ポスター) 6 5 13 : 00 14 : 00 A μ 13 : 00 14 : 00 A β β β 13 : 00 14 : 00 A 13 : 00 14 : 00 A 13 : 00 14 : 00 A β 13 : 00 14 : 00 A β 13 : 00 14 : 00 A 13 : 00 14 : 00 A β 13 : 00 14 : 00 A 13 : 00 14 : 00 A

More information

org/ghc/ Windows Linux RPM 3.2 GHCi GHC gcc javac ghc GHCi(ghci) GHCi Prelude> GHCi :load file :l file :also file :a file :reload :r :type expr :t exp

org/ghc/ Windows Linux RPM 3.2 GHCi GHC gcc javac ghc GHCi(ghci) GHCi Prelude> GHCi :load file :l file :also file :a file :reload :r :type expr :t exp 3 Haskell Haskell Haskell 1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 6. C Java 3.1 Haskell Haskell GHC (Glasgow Haskell Compiler 1 ) GHC Haskell GHC http://www.haskell. 1 Guarded Horn Clauses III - 1 org/ghc/ Windows

More information

SystemC 2.0を用いた簡易CPUバスモデルの設計

SystemC 2.0を用いた簡易CPUバスモデルの設計 SystemC 2.0 CPU CPU CTD&SW CT-PF 2002/1/23 1 CPU BCA UTF GenericCPU IO (sc_main) 2002/1/23 2 CPU CPU CQ 1997 11 Page 207 4 Perl Verilog-HDL CPU / Verilog-HDL SystemC 2.0 (asm) ROM (test.hex) 2002/1/23

More information

A/B (2018/10/19) Ver kurino/2018/soft/soft.html A/B

A/B (2018/10/19) Ver kurino/2018/soft/soft.html A/B A/B (2018/10/19) Ver. 1.0 kurino@math.cst.nihon-u.ac.jp http://edu-gw2.math.cst.nihon-u.ac.jp/ kurino/2018/soft/soft.html 2018 10 19 A/B 1 2018 10 19 2 1 1 1.1 OHP.................................... 1

More information

r3.dvi

r3.dvi 00 3 2000.6.10 0 Java ( 7 1 7 1 GSSM 1? 1 1.1 4 4a 4b / / 0 255 HTML X 0 255 16 (0,32,255 #0020FF Java xclock -bg #0020FF xclock ^C (Control C xclock 4c 1 import java.applet.applet; import java.awt.*;

More information

I ASCII ( ) NUL 16 DLE SP P p 1 SOH 17 DC1! 1 A Q a q STX 2 18 DC2 " 2 B R b

I ASCII ( ) NUL 16 DLE SP P p 1 SOH 17 DC1! 1 A Q a q STX 2 18 DC2  2 B R b I 4 003 4 30 1 ASCII ( ) 0 17 0 NUL 16 DLE SP 0 @ P 3 48 64 80 96 11 p 1 SOH 17 DC1! 1 A Q a 33 49 65 81 97 113 q STX 18 DC " B R b 34 50 66 8 98 114 r 3 ETX 19 DC3 # 3 C S c 35 51 67 83 99 115 s 4 EOT

More information

r07.dvi

r07.dvi 19 7 ( ) 2019.4.20 1 1.1 (data structure ( (dynamic data structure 1 malloc C free C (garbage collection GC C GC(conservative GC 2 1.2 data next p 3 5 7 9 p 3 5 7 9 p 3 5 7 9 1 1: (single linked list 1

More information

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV tutimura@mist.i.u-tokyo.ac.jp kaneko@ipl.t.u-tokyo.ac.jp http://www.misojiro.t.u-tokyo.ac.jp/ tutimura/sem3/ 2002 12 11 p.1/33 10/16 1. 10/23 2. 10/30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20

More information

ohp07.dvi

ohp07.dvi 19 7 ( ) 2019.4.20 1 (data structure) ( ) (dynamic data structure) 1 malloc C free 1 (static data structure) 2 (2) C (garbage collection GC) C GC(conservative GC) 2 2 conservative GC 3 data next p 3 5

More information

(1)2004年度 日本地理

(1)2004年度 日本地理 1 2 3 4 1 2 3 4 5 6 7 8 9 10 11 12-5.0-5.1-1.4 4.2 8.6 12.4 16.9 19.5 16.6 10.8 3.3-2.0 6.6 16.6 16.6 18.6 21.3 23.8 26.6 28.5 28.2 27.2 24.9 21.7 18.4 22.7 5 1 2 3 4 5 6 7 8 9 10 11 12 2.2 3.5 7.7 11.1

More information

TEX American Mathmastical Society WINDOWS Microsoft Corporation Adobe Illustrator Acrobat Adobe Systems Incorporated TM L A TEX 2ε(pL A TEX 2ε) L A TE

TEX American Mathmastical Society WINDOWS Microsoft Corporation Adobe Illustrator Acrobat Adobe Systems Incorporated TM L A TEX 2ε(pL A TEX 2ε) L A TE Expanded AMeDAS Weather Data Program DVD 2013 ColorMap Color Map Drawing Tool & GmConv Gray-Map Converting Tool for ColorMap (enc. Extended Set 2) Software Users Manual Version 1.0: May, 2013 Meteorological

More information

2009 T

2009 T T060061 Wii Visual C++ 2008 Express Edition Visual C++ 2008 Express Edition ++ ++ Paint.net ++ 1 2009 T060061 2 1 4 2 4 2.1 Visual C++ 2008 Express Edition.......................... 4 2.2.....................................

More information

1: JX-model XML File Package Import Class Intf Ctor Method SInit Field Param Local ExtdOpt ImplOpt ThrwOpt Members QName Type Stmt Label Expr ident li

1: JX-model XML File Package Import Class Intf Ctor Method SInit Field Param Local ExtdOpt ImplOpt ThrwOpt Members QName Type Stmt Label Expr ident li Sapid JX-model ver. 1.3.13 2003 2 27 1 JX-model Java XML JX-model JX-model Java (Java 2 ver. 1.4) 20 7 JX-model 1 ^ $ Child nodes JX-model / ( ) JX-model @ @id @sort 1.1 File File JX-model XML /Package,

More information

main

main 14 1. 12 5 main 1.23 3 1.230000 3 1.860867 1 2. 1988 1925 1911 1867 void JPcalendar(int x) 1987 1 64 1 1 1 while(1) Ctrl C void JPcalendar(int x){ if (x > 1988) printf(" %d %d \n", x, x-1988); else if(x

More information

haskell.gby

haskell.gby Haskell 1 2 3 Haskell ( ) 4 Haskell Lisper 5 Haskell = Haskell 6 Haskell Haskell... 7 qsort [8,2,5,1] [1,2,5,8] "Hello, " ++ "world!" "Hello, world!" 1 + 2 div 8 2 (+) 1 2 8 div 2 3 4 map even [1,2,3,4]

More information

WINET情報

WINET情報 WINETCONTENTS 1 2 3 Q&A Q A 4 Q A 5 Q A 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 No. 10. 1. 11. 2. 12. 3. 4. 13. 5. 14. 6. 7. 15. 8. 9. 16. 33 17. 33. 34. 35. 18. 19. 36.

More information

1 913 10301200 A B C D E F G H J K L M 1A1030 10 : 45 1A1045 11 : 00 1A1100 11 : 15 1A1115 11 : 30 1A1130 11 : 45 1A1145 12 : 00 1B1030 1B1045 1C1030

1 913 10301200 A B C D E F G H J K L M 1A1030 10 : 45 1A1045 11 : 00 1A1100 11 : 15 1A1115 11 : 30 1A1130 11 : 45 1A1145 12 : 00 1B1030 1B1045 1C1030 1 913 9001030 A B C D E F G H J K L M 9:00 1A0900 9:15 1A0915 9:30 1A0930 9:45 1A0945 10 : 00 1A1000 10 : 15 1B0900 1B0915 1B0930 1B0945 1B1000 1C0900 1C0915 1D0915 1C0930 1C0945 1C1000 1D0930 1D0945 1D1000

More information

…J…−†[†E…n…‘†[…hfi¯„^‚ΛžfiüŒå

…J…−†[†E…n…‘†[…hfi¯„^‚ΛžfiüŒå takuro.onishi@gmail.com II 2009 6 11 [A] D B A B A B A B DVD y = 2x + 5 x = 3 y = 11 x = 5 y = 15. Google Web (2 + 3) 5 25 2 3 5 25 Windows Media Player Media Player (typed lambda calculus) (computer

More information

class IntCell { private int value ; int getvalue() {return value; private IntCell next; IntCell next() {return next; IntCell(int value) {this.value =

class IntCell { private int value ; int getvalue() {return value; private IntCell next; IntCell next() {return next; IntCell(int value) {this.value = Part2-1-3 Java (*) (*).class Java public static final 1 class IntCell { private int value ; int getvalue() {return value; private IntCell next; IntCell next() {return next; IntCell(int value) {this.value

More information

Copyright c 2008 Zhenjiang Hu, All Right Reserved.

Copyright c 2008 Zhenjiang Hu, All Right Reserved. 2008 10 27 Copyright c 2008 Zhenjiang Hu, All Right Reserved. (Bool) True False data Bool = False True Remark: not :: Bool Bool not False = True not True = False (Pattern matching) (Rewriting rules) not

More information

OK Form PictureBox Panel RadioButton Panel RadioButton Label Button Form1 540, 440 PictureBox 360, 360 RadioButton1 Text Checked True RadioButton2 Tex

OK Form PictureBox Panel RadioButton Panel RadioButton Label Button Form1 540, 440 PictureBox 360, 360 RadioButton1 Text Checked True RadioButton2 Tex Reversi UCT C++ UCT Reversi UCT Reversi UNBALANCE Reversi UCT Reversi ( (Othello) ) UCT Microsoft Visual Studio 2010 Window othello 1 OK Form PictureBox Panel RadioButton Panel RadioButton Label Button

More information

Taro13-第6章(まとめ).PDF

Taro13-第6章(まとめ).PDF % % % % % % % % 31 NO 1 52,422 10,431 19.9 10,431 19.9 1,380 2.6 1,039 2.0 33,859 64.6 5,713 10.9 2 8,292 1,591 19.2 1,591 19.2 1,827 22.0 1,782 21.5 1,431 17.3 1,661 20.0 3 1,948 1,541 79.1 1,541 79.1

More information

exec.dvi

exec.dvi 2018 c 6, Mini-C C++ 6211 611, 61, print,,, (run ),,, (int ), 7, x, x "a" 3 "b" 4 "x" 10 (, ), x STL map 1 + 2, 1 2,, x = ;, 1, 2 x { 1 ; 2 ; ; m, if ( ) { 1 else { 2, 1,, 2 0, 1, 3 0, 2,,, main 6 1 ,,

More information

<4D F736F F D B B83578B6594BB2D834A836F815B82D082C88C60202E646F63>

<4D F736F F D B B83578B6594BB2D834A836F815B82D082C88C60202E646F63> デザイン言語 Processing 入門 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. http://www.morikita.co.jp/books/mid/084931 このサンプルページの内容は, 初版 1 刷発行当時のものです. Processing Ben Fry Casey Reas Windows Mac Linux Lesson 1 Processing

More information

Parametric Polymorphism

Parametric Polymorphism ML 2 2011/04/19 Parametric Polymorphism Type Polymorphism ? : val hd_int : int list - > int val hd_bool : bool list - > bool val hd_i_x_b : (int * bool) list - > int * bool etc. let hd_int = function (x

More information

Cプログラミング - 第8回 構造体と再帰

Cプログラミング - 第8回 構造体と再帰 C 8 ( ) C 1 / 30 n! a n+2 = a n+1 + a n ( ) C 2 / 30 #include struct student{ char name[20]; int math; int phys; ; int main(void){ struct student a, b; struct student c={"frank", 90; ( ) C 3 /

More information

1 1.1 C 2 1 double a[ ][ ]; 1 3x x3 ( ) malloc() malloc 2 #include <stdio.h> #include

1 1.1 C 2 1 double a[ ][ ]; 1 3x x3 ( ) malloc() malloc 2 #include <stdio.h> #include 1 1.1 C 2 1 double a[ ][ ]; 1 3x3 0 1 3x3 ( ) 0.240 0.143 0.339 0.191 0.341 0.477 0.412 0.003 0.921 1.2 malloc() malloc 2 #include #include #include enum LENGTH = 10 ; int

More information

cpp2.dvi

cpp2.dvi 2018 c 2 C++ (2) STL, C++ 21 string 22 STL 23 21 string C, \0, (, ), (, ), /,,,, C++,,, string string,,,,,, include,,, int, > >>,,,, getline(, string ), [List 21] 2: #include 3: 4:

More information

新たな基礎年金制度の構築に向けて

新たな基礎年金制度の構築に向けて [ ] 1 1 4 60 1 ( 1 ) 1 1 1 4 1 1 1 1 1 4 1 2 1 1 1 ( ) 2 1 1 1 1 1 1 1996 1 3 4.3(2) 1997 1 65 1 1 2 1/3 ( )2/3 1 1/3 ( ) 1 1 2 3 2 4 6 2.1 1 2 1 ( ) 13 1 1 1 1 2 2 ( ) ( ) 1 ( ) 60 1 1 2.2 (1) (3) ( 9

More information

C による数値計算法入門 ( 第 2 版 ) 新装版 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. このサンプルページの内容は, 新装版 1 刷発行時のものです.

C による数値計算法入門 ( 第 2 版 ) 新装版 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます.  このサンプルページの内容は, 新装版 1 刷発行時のものです. C による数値計算法入門 ( 第 2 版 ) 新装版 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. http://www.morikita.co.jp/books/mid/009383 このサンプルページの内容は, 新装版 1 刷発行時のものです. i 2 22 2 13 ( ) 2 (1) ANSI (2) 2 (3) Web http://www.morikita.co.jp/books/mid/009383

More information