<  1  2  3  4  5  6  7  8  9  10  11

Znacznikowa Sieć Węzłów

Sieć węzłów można zrealizować na różne sposoby. Początkowo realizowałem sieć w sposób wynikający z jej graficznego przedstawienia, jako sieć węzłów powiązanych wskazaniami węzła następnego i alternatywy oraz z kluczem zawartym wewnątrz węzła. Była to realizacja obarczona niedogodnościami. Pierwszą niedogodnością była drzewiasta, wskaźnikowa struktura, trudna do zapamiętania i wymagająca dużej pamięci na przechowanie wskaźników i kluczy. Drugą niedogodnością był dosyć skomplikowany kod programu realizującego sieć węzłów. Aby zlikwidować niedogodność związaną ze stosowaniem wskaźników zastosowałem technikę zaczerpniętą z rozwiązań HTML i XML, a więc znacznikowy zapis danych, w którym można w jednym ciągu przechowywać struktury drzewiaste, bez wskaźników. Dzięki temu rozwiązaniu drzewiastą strukturę sieci mogłem zapisywać i przesyłać w jednym ciągu znaków i to w sposób łatwy do analizy i testów. Na początku wykorzystałem trzy znaczniki. Dwa dla zaznaczenia alternatywy  i jeden dla zaznaczenia węzła końcowego.

Przykład sieci znacznikowej

Zapis:

Słowa^9=wa(ola@(nie@))ld(y@)e(ki@)k(czek@)(mar@)@

oznacza sieć o nazwie "Słowa" ze wskazaniem na 9 znak i definicji następującej po znaku "=".

Sieć ta zawiera następujące słowa:

 waldek
 waldeczek
 waly
 wola
 wolanie
 waldki
 waldemar

Definicję tej sieci możemy przedstawić w następujący sposób:

Słowa =  wa(alt_a)ld(alt_d)e(alt_e)k(alt_k1)(alt_k2)@
alt_a   =  ola@(alt_@)
alt_@ =  nie@
alt_d  =  y@ 
alt_e  =  ki@
alt_k1= czek@ 
alt_k2= mar@ 

gdzie "alt" oznacza alternatywę poprzedzającego wyrazu w definicji sieci, a "@" węzeł końcowy.

Właściwości sieci znacznikowej

Ktoś by powiedział, po co w taki tajemniczy i bezsensowny sposób kodować listę wyrazów. Otóż, tak zakodowana struktura świetnie nadaje się do porównywania zawartej w tej strukturze listy wyrazów (wzorców) z podanym wyrazem.

Przy porównywaniu kolejnego znaku podanego wyrazu ze strukturą, dla zgodności pomijamy wszystkie alternatywy dla tego znaku i przechodzimy do porównywania kolejnego wyrazu, a niezgodności ograniczamy zakres porównywania tylko do alternatyw tego znaku. Bardzo to przyśpiesza proces potwierdzania zgodności postrzeganego elementu ze wzorcem. Taka struktura bardzo dobrze nadaje się do przechowywania wzorców wykorzystywanych do porównywania.

Model warstwowy sieci znacznikowej

Okazuje się, że przedstawienie sieci w postaci znacznikowej, wprowadza trudności w rozumieniu jej na dalszym etapie projektowania - cały czas musimy pamiętać o jej postaci znacznikowej. Aby uwolnić się od jej aktualnego fizycznego przedstawienia, należy zrobić to samo co zrobiono przy projektowaniu internetu, a mianowicie, należy przenieść projektowanie do kolejnej warstwy, w tym przypadku warstwy, w której posiada ona tradycyjny, węzłowy charakter, znacznie bardziej podatny na programowe i intuicyjne rozumienie. Takie podzielenie na warstwę projektowo-węzłową i warstwę fizyczną-znacznikową ma jeszcze tą zaletę, że pozwala później na kojarzenie tej pierwszej z dowolną warstwą fizycznego składowania tej sieci, co ma bardzo duże znaczenie w czymś co nazywamy "uniwersalizmem inteligencji".

Waldemar Wietrzykowski
Computational Neuroscience
Digital Intelligence Laboratory
email: mail

Zobacz też

Linki

dil

<  1  2  3  4  5  6  7  8  9  10  11

Copyright  © 2003 net3plus  mail