<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>Kanada&apos;s Research Topics</title>
   <link rel="alternate" type="text/html" href="http://www.kanadas.com/research-topics-e/" />
   <link rel="self" type="application/atom+xml" href="http://www.kanadas.com/research-topics-e/atom.xml" />
   <id>tag:www.kanadas.com,2008:/research-topics-e//10</id>
   <updated>2007-04-15T12:30:32Z</updated>
   <subtitle><![CDATA[In this blog, I will write topics that spread among two or more research themes.  The research themes in my company are described, but I write them as a research scientist and my company has no concern to these descriptions.  
See Purpose of this blog for detail. 
If you do not want to publish your comment, send it to yasusi&nbsp;@&nbsp;kanadas.com
]]></subtitle>
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.36</generator>

<entry>
   <title>Computation with randomized order</title>
   <link rel="alternate" type="text/html" href="http://www.kanadas.com/research-topics-e/2007/03/computation_with_randomized_or.html" />
   <id>tag:www.kanadas.com,2007:/research-topics-e//10.702</id>
   
   <published>2007-03-31T00:00:57Z</published>
   <updated>2007-04-15T12:30:32Z</updated>
   
   <summary> Recently, computation methods with rand...</summary>
   <author>
      <name></name>
      
   </author>
   
   <category term="131" label="CCM" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="408" label="Cellular automaton" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.kanadas.com/research-topics-e/">
      <![CDATA[<p>
Recently, computation methods with randomness are widely studied.  
Evolutionary computation including genetic algorithms and genetic 
programming are examples of such methods. 
Computation using simulated annealing, such as Bolzmann Machine, and  
methods for increasing efficiency using randomization in classical 
algorithms are also studied. 
The randomized computation models I previous studied, i.e.,  
<a href="/research-themes-e/0000/01/ccm_chemical_casting_model.html">Chemical Computation Model (CCM)</a> and 
<a href="/research-themes-e/0000/01/raca_randomized_asynchronous_c.html">randomized 
cellular automata (RACA)</a>, also used randomized computation.
</p>
]]>
      <![CDATA[<p>
In these computation models, computation proceeds by successively applying given rules. 
The order of rule applications is randomized.
Some interesting phenomena occur by regularly (synchronously) 
applying rules, but regular application often causes unexpected 
results.  Randomness sometimes causes improvement of efficiency. 
However, I researched the computation methods above rather because, 
firstly I expected that we might be able to get intended results more easily 
without using specialized techniques, and secondly I believed 
that randomness is the source of emergence.
</p>

Pages on related researches: 
<ul>
<li><a href="http://www.smapip.is.tohoku.ac.jp/~smapip/2005/NHC+SMAPIP/index-e.html">
Randomness and Computation (RC2005)</a></li>
</ul>
]]>
   </content>
</entry>
<entry>
   <title>Software and hardware</title>
   <link rel="alternate" type="text/html" href="http://www.kanadas.com/research-topics-e/2006/10/software_and_hardware.html" />
   <id>tag:www.kanadas.com,2006:/research-topics-e//10.279</id>
   
   <published>2006-10-18T13:01:46Z</published>
   <updated>2007-03-24T07:44:38Z</updated>
   
   <summary> This entry focuses on my hobby rather t...</summary>
   <author>
      <name></name>
      
   </author>
   
   <category term="352" label="Hobby" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="160" label="Programming language" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.kanadas.com/research-topics-e/">
      <![CDATA[<p>
This entry focuses on my hobby rather than research.
</p>

To be described.  
]]>
      <![CDATA[<p>
このエントリーは研究というよりは趣味のはなしが中心です．
</p>

<p>
大学 2 年になるまで，私にはソフトウェアというものにはほとんど縁がありませんでした． 
一方で小学生のころからハードウェアには興味があり，ラジオやその他の電子工作をしていました． 
中学・高校のころにはオーディオファンになって，いまもある 「無線と実験」，「ラジオ技術」 などの雑誌をみて，ステレオアンプをつくりました． 
そういう私にとって，秋葉原で <a href="http://ja.wikipedia.org/wiki/Intel_8080">Intel 8080</a> が売られるようになると，それをつかって
マイクロコンピュータをつくるというのは，むしろ自然なことでした． 
このマイコン製作については<a href="/weblog/2006/10/9080.html">ブログのエントリー</a>に書いています． ここにも書いているように，デジタル回路の実装をよく
しらなかったために，おそろしく複雑な配線をすることになり，もうハードウェアは
やめようとおもうにいたりました． そしてソフトウェアの世界にはいってきたわけです．
</p>
<p>
就職してまもなく，ベクトル型のスーパーコンピュータ <a href="http://www.ipsj.or.jp/katsudou/museum/computer/2040_e.html">S-810</a> のコンパイラの仕事にたずさわりました． 
コンパイラはハードウェアとソフトウェアとの境界のプログラムであり，またとくに
あたらしく開発されたコンピュータのためのコンパイラなので，
ハードウェアをつよく意識しました． 当時の汎用コンピュータのコンパイラ開発に
おいてはハードウェアの特性をそれほど意識しなかったのではないかと
おもうのですが 
(いまでは RISC のためのコンパイラ開発ではハードウェアをつよく意識するのは当然のことだとおもいますが)，
スーパーコンピュータはハードウェアをうまくつかうかどうかで
性能がおおきくかわってくるため，ハードウェアの設計者からもしばしば話を
きいていました． 
</p>
<p>
コンパイラ屋をやめてからはハードウェアを意識することもすくなくなりましたが，
DOS/V パソコンの部品が秋葉原で売られるようになってからは，ふたたび
自分でパソコンをくみたてています． 自宅でつかう DOS/V パソコンは，
家族のものもふくめて，すべて私がくみたてたものです． 
自宅でやるひとはたくさんいますが，私は会社でつかっているパソコンも
たいてい，くみたてています． 会社ではなかなか道具がそろわないので，
机のなかにドライバーやラジオペンチをもっています． 
しかし，単なるくみたて以上のことは，ひさしくやっていません． 
近年は FPGA がひろくつかわれるようになって，半田ごてなしでハードウェアを
開発することができるようになっているので，やってみたいとはおもっていますが，
いまのところ，なかなか手がだせないでいます． 
もう，いい年になっているので，定年後のたのしみとしてとっておくということに
なるかもしれません．
</p>
]]>
   </content>
</entry>
<entry>
   <title>Fusion of digital and analog</title>
   <link rel="alternate" type="text/html" href="http://www.kanadas.com/research-topics-e/2006/10/fusion_of_digital_and_analog.html" />
   <id>tag:www.kanadas.com,2006:/research-topics-e//10.278</id>
   
   <published>2006-10-18T12:58:28Z</published>
   <updated>2007-03-31T05:24:41Z</updated>
   
   <summary> One of my research focus that is common...</summary>
   <author>
      <name></name>
      
   </author>
   
   <category term="109" label="Axis-specified search" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="131" label="CCM" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="4" label="voiscape" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.kanadas.com/research-topics-e/">
      <![CDATA[<p>
One of my research focus that is common to my several research themes is, in short, "fusion of digital and analog".  
There was so-called 
<a href="http://en.wikipedia.org/wiki/Analog_computer">analog computer</a>, 
but now it has become 
old fashioned.  Nowadays, the word "computer" certainly means a digital computer.  
However, human senses are inherently analog, so I think computers should come close to analog senses for the sake of ease of use. 
It means that combination or fusion of good points of digital and analog is required.  
Although analog computers were dead, 
<a href="http://en.wikipedia.org/wiki/Neural_network">neural networks</a> that replaced 
analog computers (?!) had some good points of analog things.  
Since I was stimulated by them, I thought of fusion of digital and analog 
very frequently.  
</p>
]]>
      <![CDATA[<p>
In the research of 
<a href="/research-themes-e/0000/01/ccm_chemical_casting_model.html">CCM 
(Chemical Computation Model)</a>, 
I studied computation using production rules called reaction rules and 
evaluation functions called local order degrees.  
Here, reaction rules are digital, and local order degrees are analog.  
We can solve many problems, constraint satisfaction and optimization problems, 
using the combination of these two.  
In digital worlds, programs often do not stop at appropriate point but run away if writing a wrong program.  
However, combination with certain analog thing, i.e., 
using a function with a minimal value, probably makes the chance of such 
happenings less.  
</p>
<p>
In 
<a href="/research-themes-e/0000/01/axisspecified_search_thematic.html">axis-specified search</a>, 
by specifying "search axis" in addition to search keywords, 
we can get search results that are well-organized along the axis. 
Here, a keyword search is digital, but it is combined with "axis", 
which is analog.  
For example, if we specify time as axis, we can get results 
sorted by time, i.e., we can get a chronological table.
Or, if we specify geographical space as axis, we can get 
results on a map. 
</p>
<p>
If we use 
<a href="/research-themes-e/0000/01/voiscape_a_virtual_sound_room_1.html">voiscape  
(a virtual "sound room" based communication medium)</a>, 
two or more people can talk in a virtual sound space enabled by 
spatial audio technology.  
The objective of this research is to enable more natural human conversation 
through a medium by expressing feeling of direction and distance 
of voices by using spatial audio.  
In conventional media, such as telephone, the communication state 
was one of two digital states, i.e., connected to or disconnected from 
the other party.  
In voiscape, the other party can be in any distance and in any direction, i.e., it realizes 
analog states.  
</p>
]]>
   </content>
</entry>
<entry>
   <title>The N queens problem</title>
   <link rel="alternate" type="text/html" href="http://www.kanadas.com/research-topics-e/2006/10/the_n_queens_problem.html" />
   <id>tag:www.kanadas.com,2006:/research-topics-e//10.277</id>
   
   <published>2006-10-18T12:31:44Z</published>
   <updated>2008-03-23T02:28:05Z</updated>
   
   <summary><![CDATA[   &nbsp;   &nbsp;   &nbsp;Q&nbsp;   &nb...]]></summary>
   <author>
      <name></name>
      
   </author>
   
   <category term="131" label="CCM" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="235" label="vectorization of symbol-processing" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.kanadas.com/research-topics-e/">
      <![CDATA[<table border="0" align="right" bgcolor="gray">
<tr align="center">
  <td bgcolor="#FFFF99">&nbsp;</td>
  <td bgcolor="#C0C0FF">&nbsp;</td>
  <td bgcolor="#FFFF99">&nbsp;Q&nbsp;</td>
  <td bgcolor="#C0C0FF">&nbsp;</td>
</tr>
<tr align="center">
  <td bgcolor="#C0C0FF">&nbsp;Q&nbsp;</td>
  <td bgcolor="#FFFF99">&nbsp;</td>
  <td bgcolor="#C0C0FF">&nbsp;</td>
  <td bgcolor="#FFFF99">&nbsp;</td>
</tr>
<tr align="center">
  <td bgcolor="#FFFF99">&nbsp;</td>
  <td bgcolor="#C0C0FF">&nbsp;</td>
  <td bgcolor="#FFFF99">&nbsp;</td>
  <td bgcolor="#C0C0FF">&nbsp;Q&nbsp;</td>
</tr>
<tr align="center">
  <td bgcolor="#C0C0FF">&nbsp;</td>
  <td bgcolor="#FFFF99">&nbsp;Q&nbsp;</td>
  <td bgcolor="#C0C0FF">&nbsp;</td>
  <td bgcolor="#FFFF99">&nbsp;</td>
</tr>
</table>
<p>
It is time consuming to solve the <i>N</i> queens problem (See the description below), as same as other constraint-satisfaction problems.  
Therefore, many methods are deviced to solve it faster.  
In my research, I often used this problem as an example too.
</p>
]]>
      <![CDATA[<p>
The first time I used this in <a href="/research-themes-e/0000/01/logicsymbolic_vector_processin.html">Logic/Symbolic Vector Processing</a>.  
By using a logic programming language such as Prolog, you can program 
exaustive search using 
<a href="http://en.wikipedia.org/wiki/Backtracking">backtracking</a>.  The objective of this research was to 
convert such programs to high-speed programs for supercomputers.  
However, the acceleration ratio of even a successfully converted program 
was constant, so the program still needs exponential computation time.
</p>
<p>
The second time I used this problem 
in <a href="/research-themes-e/0000/01/ccm_chemical_casting_model.html">CCM (Chemical-Computation Model)</a>.  
In CCM, randomness was inherently introduced, and we did not aim perfect computation (or complete method).  
In such a stochastic computation, it does not need exponential computation time.  
By using CCM, you can find a solution by a personal computer much faster than by a supercomputer using a backtracking method.  
You can try such computation by using 
<a href="/ccm/queens-sort/index.html">the <i>N</i> Queens Problem and Sorting</a> page, which contains CCM-based Java program of the <i>N</i> queens problem.  
You can try various methods by changing options on this page, 
but I will describe the detail of this issue in another opportunity. 
(But the above page contains most of such information.)  
To develop stochastic solving methods, neural networks and 
genetic algorithms can also be used.  The method using CCM 
has similar nature to such methods.  
</p>
<p>
Apart from Kanada's research, the <i>N</i> queens problem is also used 
in N. Wirth's book titled "Algorithms and Data Structures".&nbsp;  
R. W. Floyd's paper titled "Nondeterministic Algorithms" 
(Journal of the ACM, Vol. 14, No. 4 (1967), pp. 636-644)
also used this problem.  This paper was 
<a href="http://fw8.bookpark.ne.jp/cm/ipsj/search_test.asp?flag=6&keyword=IPSJ-MGN440215&mode=PRT">explained</a>  by Kanada in the 2003-February issue of "Information Processing"  (Vol. 44, No. 2, p. 198).  
As I wrote in this explanation, the problem was also used as 
an example of quantum computation.  
</p>

<p><a name="n-queens">Explanation of the <i>N</i> queens problem</a></p>
<p>
The eight queens problem is the problem to get layouts of eight queens on a chess board without taking each other.  
An extension of this problem to <i>N</i>-by-<i>N</i> board is the 
<i>N</i> queens problem.  
Problems to get a solution that satisfies given conditions, such as 
the <i>N</i> queens problem, are called 
<a href="http://en.wikipedia.org/wiki/Constraint_satisfaction">constraint satisfaction</a> 
problems (CSPs).  Many CSPs belongs to a class of difficult problems, 
called NP (Non-Polynomical), which can only be solved by enumerating solutions.  
The <i>N</i> queens problem is one of them.  
The reason why this class is called non-polynomial is that 
problems in this class cannot be solved in time represented by 
<i>N</i>'s polynomial expression (i.e., it takes exponential time 
to solve them).  
</p>
<p>
[Related page: <a href="/puzzles/queens.html">The <i>N</i> Queens Page</a>]
</p>

]]>
   </content>
</entry>
<entry>
   <title>Purpose of this blog</title>
   <link rel="alternate" type="text/html" href="http://www.kanadas.com/research-topics-e/2006/10/purpose_of_this_blog.html" />
   <id>tag:www.kanadas.com,2006:/research-topics-e//10.271</id>
   
   <published>2006-10-16T14:09:02Z</published>
   <updated>2007-03-24T07:56:12Z</updated>
   
   <summary>When I became a research scientist, I de...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="en" xml:base="http://www.kanadas.com/research-topics-e/">
      <![CDATA[When I became a research scientist, I decided my research themes according to 
my preference.  However, I moved again and again to various research areas according to the 
needs of my company and societies.  Those themes do not seem to be related each other at a glance.  
However, there are common backgrounds or philosophies among them.  
In this blog, I will write such a relatively heavy topics that spread among two or more research themes.  
Initially, I intended to write such issues in 
<a href="/weblog-e/">my general blog</a>, but I changed my mind to separate them.  
Relatively light topics on one research theme are described in 
the general blog.  
I also made <a href="/research-topics-j/">a Japanese version of 
this blog</a>.

By the way, the research themes in my company are described, but I write them as a research scientist and my company has no concern to these descriptions.  

]]>
      
   </content>
</entry>
<entry>
   <title>My lifework</title>
   <link rel="alternate" type="text/html" href="http://www.kanadas.com/research-topics-e/2005/02/my_lifework.html" />
   <id>tag:www.kanadas.com,2005:/research-topics-e//10.473</id>
   
   <published>2005-02-02T15:00:00Z</published>
   <updated>2007-03-31T10:03:33Z</updated>
   
   <summary> I have studied  CCM (Chemical Computati...</summary>
   <author>
      <name></name>
      
   </author>
   
   <category term="109" label="Axis-specified search" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="131" label="CCM" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="4" label="voiscape" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.kanadas.com/research-topics-e/">
      <![CDATA[<p>
I have studied 
<a href="/research-themes-e/0000/01/ccm_chemical_casting_model.html">CCM (Chemical Computation Model)</a> for emergent computation, 
<a href="/research-themes-e/0000/01/axisspecified_search_thematic.html">axis-specified search</a>, 
<a href="/research-themes-e/0000/01/voiscape_a_virtual_sound_room_1.html">voiscape</a> (a virtual "sound room" based communication medium), and so on.  
There are common "themes" among the above three researches.  
They are 
<a href="/research-topics-e/2006/10/fusion_of_digital_and_analog.html">"fusion of digital and analog"</a> and 
"fusion of symbols and subsymbols".  
</p>
]]>
      <![CDATA[<p>
CCM is a computation model that leads symbolic or "digital" computations represented by 
motions in discrete state spaces to a solution by using so-called local order 
degrees (a type of evaluation functions), which are "analog".  
</p>
<p>
Axis-specified search is a method of search, which organizes the 
results of "digital" keyword searches by using time --a one-dimensional "analog" quantity -- (in the case of year-axis search) or by using area or map -- a two-dimensional "analog" quantity -- (in the case of geographical axis search). 
I tried to enable intuitive grasp of search results by putting them 
in analog spaces.  
</p>
<p>
In voiscape, voice itself has both digital nature called language  
and analog nature called sound, but, in addition, by putting it 
in a three- (or two-) dimensional analog space, 
move it from two-valued (digital) world to a world with 
perspective, which can be well grasped by human senses.
</p>

<p>
Although the two research themes except voiscape, which is ongoing, 
cannot be called life works.  However, I believe 
the common themes, i.e., 
"fusion of digital and analog" and "fusion of symbols and subsymbols" will be my life works.  
In addition, I changed my research themes as the above order, but 
I think I can say my research theme gradually becomes closer to 
"human beings". 
In my master's thesis, I chose 
<a href="/research-themes-e/0000/01/programming_linguistics.html">"programming linguistics"</a> as the 
research theme.  Since then, except CCM, I can say I tried to 
revive human existence where it was conventionally ignored or abstract away.  
</p>
<p>Note: Because I included a content in an independent Web page 
into this blog, the submission date is before the date I started 
this blog.
</p>
]]>
   </content>
</entry>

</feed>
