<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>study-inshiのブログ</title>
<link>https://ameblo.jp/study-inshi/</link>
<atom:link href="https://rssblog.ameba.jp/study-inshi/rss20.xml" rel="self" type="application/rss+xml" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
<description>ブログの説明を入力します。</description>
<language>ja</language>
<item>
<title>この前から今日まで</title>
<description>
<![CDATA[ アルゴリズムイントロダクション<br><br><br>15.3.1<br>正確に証明しようとすると大変そうだけどRECURSIVE-MATRIX-CHAINの方が効率いい<br><br>15.3.2<br>マージソートは部分問題がほとんど重複しないので履歴管理しても意味ない。<br><br>15.3.3<br>最大化問題は実現できる。全ての部分構造最適性を最小と同じように示せる。<br><br>15.3.4<br>もし表に記録していないと仮定するとたとえばfi[i]を解くときもfi[i-1]を解くときもそれ以下、たとえばfi[2]の値などが必要になる。これが表に保存することで解消される。すなわちこれらが部分問題重複性<br><br>15.3.5<br>A1:10*3,A2:3*2,A3:2*3でやればよい<br><br>15.4.1<br>ノートに書いた<br><br>15.4.2<br>PRINT-LCS(X,i,j)<br>1 if  i=0またはj=0<br>2        then   return<br>3 if  xi=yj<br>4        then   PRINT-LCS(X,i-1,j-1)<br>5               print xi<br>6        else   if  c[i-1,j]&gt;=c[i,j-1]<br>7                   then  PRINT-LCS(X,i-1,j)<br>8                   else  PRINT-LCS(X,i,j-1)<br><br>15.4.3<br><br>MEMOIZED-LCS-LENGTH(X,Y)<br>1  m ← length(X)<br>2  n ← length(Y)<br>3  for  i ← 0 to m<br>4        for  j ← 0 to n<br>5            do  c[i,j] ← -1<br>6  return  LOOKUP-LCS-LENGTH(X,Y,i,j)<br><br>LOOKUP-LCS-LENGTH(X,Y,m,n)<br>1 if c[i,j] &gt;-1<br>2      then  return  c[i,j]<br>3 if i=0またはj=0<br>4      then  c[i,j] ← 0<br>5      else  if   xi=yj<br>6                   then  c[i,j] ←  LOOKUP-LCS-LENGTH(X,Y,i-1,j-1) + 1<br>7                   else  c[i,j] ←　max[LOOKUP-LCS-LENGTH(X,Y,i-1,j), LOOKUP-LCS-         LENGTH(X,Y,i,j-1)]<br>8 return c[i,j]<br><br>15.4.4<br>2行あればその2行で漸化式より事足りる。さらに2行なくても1行と３つの領域があれば実現可能<br><br>15.4.5<br>X=<x1,x2,x3,...,xn>が与えられているときXをソートした物をX'としXとX'でLCSを実行<br><br>15.5.1<br>履歴管理をつかってあとは漸化式の通りにかけばできる。<br><br>15.5.2<br>ノートに書いた<br><br>15.5.3<br>実行時間は漸近的には変化なし。使用記憶領域が減る<br><br>16.1.1<br>上をまねて履歴管理を使えばかける<br>実行時間はO(n^3)<br><br>16.1.2<br>集合Sと半開区間a=[si,fi)に対して逆の物を定義して後ろから証明<br><br>16.1.3<br>GREEDY-ACTIVITY-SELECTORをO(n)回使用して求める方法がある。これはO(n^2)<br><br>さらに、他の方法として<br>使用中の講義室と使用していない講義室のリストを作る<br>もし未使用リストに講義室があるならそれを利用<br>ないなら新たに講義室を追加<br>ソートにかかる実行時間がこの解法の実行時間である。すなわち、入力が小さければO(n),そうでなければO(nlgn)<br><br>16.1.4<br>ノートに書いた<br><br>16.2.1<br>貪欲法最適性と部分構造最適性を示せばよい<br><br>16.2.2<br>ｎ個のアイテムに対して重さWを1～Wまで繰り返す。<br><br>16.2.3<br>貪欲法使える<br><br>16.2.4<br>一番遠いガソリンスタンドを選んでいけばよい。m個ガソリンスタンドがあるとするならO(m)<br><br>16.2.6<br>全アイテムの重さの中央値を求める<br>中央値に対して　＜、＝、＞で三つの部分集合にわける。それぞれG,E,Lとする。<br>このときのそれぞれの集合の重さの合計をWg,We,Wlとする。<br>もしWg&gt;Wなら集合Gの中の要素で再帰。<br>それ以外なら集合Gの要素をすべていれてもWにまだ余裕があることになる。このときの残りの容量はW-Wgである。<br>ここでEを追加する。<br>もし、Wg+We＞=WならEを取り除き終了。<br>そうでないなら、W-Wg-Weの容量に対して要素はLで再帰<br><br>以上より<br>T(n)&lt;=T(n/2)+O(n)     よって置き換え法より、T(n)=O(n)</x1,x2,x3,...,xn>
]]>
</description>
<link>https://ameblo.jp/study-inshi/entry-11999985677.html</link>
<pubDate>Tue, 10 Mar 2015 22:35:59 +0900</pubDate>
</item>
<item>
<title>今日やったこと</title>
<description>
<![CDATA[ アルゴリズムイントロダクション<br><br><br>15.2.1 ノートに書いた<br><br>15.2.2 <br>MATRIX-CHAIN-MULTIPLY(A,s,i,j)<br> if   i=j<br>     then  return Ai<br>     else  X ← MATRIX-CHAIN-MULTIPLY(A,s,i,s[i,j])<br>           Y ← MATRIX-CHAIN-MULTIPLY(A,s,s[i,j]+1,j)<br>           return MATRIX-MULTIPLY(X,Y)<br><br>15.2.3<br>P(n)=ΣP(k)P(n-k)に対して最初と最後だけ取り出してP(n)&gt;=P(1)P(n-1)+P(n-1)P(1)という関係式を作ればよい。あとは普通の置き換え法<br><br>15.2.4<br>i=n-l+1,k=l-1を利用。さらにm[i,j]を求めるときにはm[i,k]とm[k+1,j]の二つを参照する必要がある。以上からΣ(n-l+1)(l-1)*2を計算すればよい。<br><br>15.2.5<br>数学的帰納法により（）の数を帰納的に証明。<br><br><br><br>コンピュータの構成と設計<br><br><br><br><br>・性能を比べるなら同じプログラムでのCPU実行時間の比較<br><br>・CPI＝命令あたりの平均クロックサイクル数<br><br>・CPU時間＝（実行命令数）*（CPI）/（クロック周波数）<br><br><br><br>
]]>
</description>
<link>https://ameblo.jp/study-inshi/entry-11997481964.html</link>
<pubDate>Wed, 04 Mar 2015 23:10:27 +0900</pubDate>
</item>
<item>
<title>昨日</title>
<description>
<![CDATA[ アルゴリズムイントロダクション<br><br>15.1.1<br>ノートに書いた<br><br>15.1.2<br>ri(j+1)=2^(n-(j+1))と仮定して置き換え法。i=1のときについて解いてあとは対称性から２についても成り立つことを考える。<br><br>15.1.3<br>等比数列の和の公式使えばできる<br><br>15.1.4<br>15.1.1の再帰を使うとfだけでいい<br><br>15.1.5<br>背理法を用いる<br><br>動的計画法<br>1.最適解の構造を特徴づける。<br>2.最適解の値を再帰的に定義する。<br>3.ボトムアップ方式で最適解の値を計算する。<br>4.計算された情報から最適解を計算する。<br><br><br>
]]>
</description>
<link>https://ameblo.jp/study-inshi/entry-11997182581.html</link>
<pubDate>Wed, 04 Mar 2015 09:18:59 +0900</pubDate>
</item>
<item>
<title>ルール</title>
<description>
<![CDATA[ 院試に向けて毎日学習したことを書いていく。<br><br><br>○○やることリスト○○<br><br>・専門科目<br>アルゴリズムイントロダクション<br>コンピュータの構成と設計<br>論理回路<br>OSの仕組み<br>情報理論<br>人工知能<br>オートマトン<br><br>・数学<br>微分積分<br>線形代数<br>常微分方程式<br>ベクトル解析<br>複素関数<br>確率<br>フーリエ・ラプラス
]]>
</description>
<link>https://ameblo.jp/study-inshi/entry-11996890111.html</link>
<pubDate>Tue, 03 Mar 2015 16:53:59 +0900</pubDate>
</item>
</channel>
</rss>
