<h4>5.1 <span class="Heading">Threshold Elements over <span class="SimpleMath">GF(p^k)</span></span></h4>
<p>Let <span class="SimpleMath">F=GF(p^k)</span> be a Galois field with primitive element <span class="SimpleMath">ε</span> and let <span class="SimpleMath">F^*</span> be the multiplicative group of <span class="SimpleMath">F</span>. Let us consider all proper subgroups of <span class="SimpleMath">F^*</span>:</p>
<p>where <span class="SimpleMath">σ_i=ϵ^frac|F^*|j_i}</span> (<span class="SimpleMath">i=1,...,t</span>)are the generators of the corresponding cyclic groups. Denote <span class="SimpleMath">T={ j_1, ..., j_t}</span>. Let <span class="SimpleMath">G_n = C_k_1⊗ ... ⊗ C_k_n</span> be a direct product of cyclic groups <span class="SimpleMath">C_k_i</span> (<span class="SimpleMath">k_i ∈ T</span>,<span class="SimpleMath">i=1,...,n</span>).</p>
<p>A <var class="Arg">discrete function</var> of <span class="SimpleMath">n</span> variables over a finite field <span class="SimpleMath">F</span> is a mapping <span class="SimpleMath">f:G_n -> C_q</span>, <span class="SimpleMath">q ∈ T</span>, <span class="SimpleMath">C_q = ⟨ σ ∣ σ^q=1 ⟩</span>, <span class="SimpleMath">σ = ϵ^frac|F^*|q}</span>.</p>
<p>We define the function <span class="SimpleMath">FSignξ</span> in the following way <a href="chapBib.html#biBGeche2010">[Gec10]</a>:</p>
<p>in which <span class="SimpleMath">deg ξ</span> is obtained from the equality <span class="SimpleMath">ξ=ϵ^deg ξ</span>, <span class="SimpleMath">j ∈ { 1, ... , q-1 }</span>.</p>
<p>Let <span class="SimpleMath">(w_1, ..., w_n; T) ∈ F^n+1</span>. For all <span class="SimpleMath">overlineg = (x_1,...,x_n) ∈ G_n</span> (i.e. <span class="SimpleMath">x_j ∈ C_k_j</span>) we define</p>
<p class="pcenter">
w(\overline{g}) = \sum_{i=1}^n w_i x_i + T \in F.
</p>
<p>A <var class="Arg">neural element</var> with structure vector <span class="SimpleMath">(w_1, ..., w_n; T) ∈ F^n+1</span> is a logic device that realizes the function <span class="SimpleMath">FSign (w(overlineg))</span> for all <span class="SimpleMath">overlineg ∈ G_n</span>.</p>
<p>Discrete function <span class="SimpleMath">f</span> which is relizable by a single neural element over the field <span class="SimpleMath">F</span> is called <var class="Arg">neurofunction</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ MVThresholdElement</code>( <var class="Arg">Structure</var>, <var class="Arg">Dimensions</var>, <var class="Arg">Field</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>For the two-element list <code class="code">Structure</code>, in which the first element is a vector over the field <code class="code">Field</code>, and the second element is an element of the <code class="code">Field</code>, a list of positive integers <code class="code">Dimensions</code> (or an integerm if all the dimensions are equal) and a Galois field <code class="code">Field</code> the function <code class="code">MVThresholdElement</code> returns a multi-valued threshold element with the number of inputs equal to the length of the first element of <code class="code">Structure</code> list.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">F:=GF(13);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">st:=[[Z(13)^5,Z(13)^7],Z(13)^4];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">dim:=[2,3,3];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">mvte:=MVThresholdElement(st,dim,F);</span>
< multivalued threshold element over GF(13) with structure [[ 6, 11 ], 3] and
dimension vector [ 2, 3, 3 ] >
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(mvte);</span>
Structure vector = [[ 6, 11 ], 3]
Dimension vector = [[ 2, 3, 3 ]]
Field: GF(13)
Multi-Valued Threshold Element realizes the function f :
[ 1, 1 ] || 9
[ 1, 3 ] || 3
[ 1, 9 ] || 1
[ 12, 1 ] || 1
[ 12, 3 ] || 1
[ 12, 9 ] || 9
<span class="GAPprompt">gap></span> <span class="GAPinput">## If all dimensions in dimension vector are equal, the user can enter</span>
just this number.
<span class="GAPprompt">gap></span> <span class="GAPinput">F:=GF(5);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">st:=[[Z(5)^0,Z(5)^0],Z(5)^2];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">dim:=2;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">mvte:=MVThresholdElement(st,dim,F);</span>
< multivalued threshold element over GF(5) with structure [[ 1, 1 ], 4] and
dimension vector [ 2, 2, 2 ] >
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(mvte);</span>
Structure vector = [[ 1, 1 ], 4]
Dimension vector = [[ 2, 2, 2 ]]
Field: GF(5)
Multi-Valued Threshold Element realizes the function f :
[ 1, 1 ] || 1
[ 1, 4 ] || 4
[ 4, 1 ] || 4
[ 4, 4 ] || 1
</pre></div>
<p>The function <code class="code">Display</code> outputs the stucture of the given threshold element <code class="code">mvte</code> and the truth table in given alphabet. In the previous example <code class="code">mvte</code> realizes a three-valued function in <span class="SimpleMath">{ 1, 3, 9 }</span> alphabet over GF(13).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsMVThresholdElement</code>( <var class="Arg">Obj</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>For the object <code class="code">Obj</code> the function <code class="code">IsMVThresholdElement</code> returns <code class="code">true</code> if <code class="code">Obj</code> is a multi-valued threshold element (see <code class="func">MVThresholdElement</code> (<a href="chap5.html#X818FF66D7919D8B1"><span class="RefLink">5.1-1</span></a>)), and <code class="code">false</code> otherwise.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ OutputOfMVThresholdElement</code>( <var class="Arg">MVThrEl</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>For the multi-valued threshold element <code class="code">MVThrEl</code> the function <code class="code">OutputOfMVThresholdElement</code> returns the truth vector of the multi-valued Boolean function, realized by <code class="code">MVThrEl</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ StructureOfMVThresholdElement</code>( <var class="Arg">MVThrEl</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>For the multi-valued threshold element <code class="code">MVThrEl</code> the function <code class="code">StructureOfMVThresholdElement</code> returns the structure vector of <code class="code">MVThrEl</code> (see <code class="func">MVThresholdElement</code> (<a href="chap5.html#X818FF66D7919D8B1"><span class="RefLink">5.1-1</span></a>)).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ MVBooleanFunctionBySTE</code>( <var class="Arg">Func</var>, <var class="Arg">Dim</var>, <var class="Arg">F</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>For the given multi-valued function <code class="code">Func</code> and the prime field <code class="code">F</code> the function <code class="code">MVBooleanFunctionBySTE</code> returns the multi-valued threshold element over <code class="code">F</code> if <code class="code">Func</code> is realizable and an empty list otherwise. The algorithm realizing this function was proposed in <a href="chapBib.html#biBGeche2010">[Gec10]</a>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">f:=LogicFunction(2,2,[0,1,1,0]);</span>
< Boolean function of 2 variables >
<span class="GAPprompt">gap></span> <span class="GAPinput">mvte:=MVBooleanFunctionBySTE(f,GF(3));</span>
[ ]
<span class="GAPprompt">gap></span> <span class="GAPinput">mvte:=MVBooleanFunctionBySTE(f,GF(5));</span>
< multivalued threshold element over GF(5) with structure [[ 1, 1 ], 4] and
dimension vector [ 2, 2, 2 ] >
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(last);</span>
Structure vector = [[ 1, 1 ], 4]
Dimension vector = [[ 2, 2, 2 ]]
Field: GF(5)
Multi-Valued Threshold Element realizes the function f :
[ 1, 1 ] || 1
[ 1, 4 ] || 4
[ 4, 1 ] || 4
[ 4, 4 ] || 1
<span class="GAPprompt">gap></span> <span class="GAPinput">## Consider an example if dimensions are presented as a list.</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">f:=LogicFunction(2,[2,3,3],[0,0,1,1,2,2]);</span>
< logic function of 2 variables and dimension vector [ 2, 3, 3 ]>
<span class="GAPprompt">gap></span> <span class="GAPinput">mvte:=MVBooleanFunctionBySTE(f,GF(13));</span>
< multivalued threshold element over GF(13) with structure [[ 12, 10 ], 5]
and dimension vector [ 2, 3, 3 ] >
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(last);</span>
Structure vector = [[ 12, 10 ], 5]
Dimension vector = [[ 2, 3, 3 ]]
Field: GF(13)
Multi-Valued Threshold Element realizes the function f :
[ 1, 1 ] || 1
[ 1, 3 ] || 1
[ 1, 9 ] || 3
[ 12, 1 ] || 3
[ 12, 3 ] || 9
[ 12, 9 ] || 9
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.