How can we apply the functions?

In summary, the conversation discusses the use of binary numbers and mappings in a memory model. It also introduces the concept of a queue data structure and its operations. There is a question about a function that sums up the values in a queue and its definition is discussed.
  • #1
mathmari
Gold Member
MHB
5,049
7
Hey! :eek:

Let $\text{Val} = \{0, 1\}^8$, $\text{Adr} = \{0, 1\}^{32}$ and $\text{Mem} = \text{Val}^{\text{Adr}}$.

The addition modulo $2^8$ of two numbers in binary system of length $8$, is given by the mapping:
$$\text{add}_{\text{Val}} : \text{Val}\times \text{Val}\rightarrow \text{Val} \\ (u,v) \mapsto \text{bin}_8 ((\text{Num}_2(u)+\text{Num}_2(v))\mod 2^8)$$

The addition modulo $2^{32}$ of two numbers in binary system of length $32$ and $8$, is given by the mapping:
$$\text{add}_{\text{Adr}} : \text{Adr}\times \text{Val}\rightarrow \text{Adr} \\ (a,v) \mapsto \text{bin}_{32} ((\text{Num}_2(a)+\text{Num}_2(v))\mod 2^{32})$$

A queue is a data structure with the operations „enqueue“, „dequeue“ and „first“.

In our memory model a queue can be represented with at most $2^8$ values by an address. The address and the next field save an pointer at the beginning and the end of the queue. The pointer gives the address relative to the basic address +2.

The mappings init_queue, is_empty, enqueue, dequeue and first are defined as follows:

View attachment 6265

For each memory $m \in \text{Mem}$, each address $a \in \text{Adr}$ and each value $v \in \text{Val}$, the init_queue(m, a) initializes a queue at $a$ in $m$, is_empty(m, a) checks if the queue at $a$ in $m$ is empty or not, enqueue(m, a, v) places the value $v$ in the queue at $a$ in $m$, dequeue(m, a) takes the oldest value from the queue at $a$ in $m$ and first(m, a) gives the oldest value of the queue at $a$ in $m$. Let $m\in \text{Mem}$ and $a = \text{bin}_{32}(0)$. I want to compute the value of

first(dequeue(enqueue(enqueue(init_queue(m, a), a, 00101111), a, 00001100), a), a)

First the most inner function is init_queue(m, a). This initializes a queue at $a$ in $m$.

Then we have to compute the mapping enqueue(init_queue(m, a), a, 00101111).

For that we have to compute the $a'=\text{add}_{\text{Adr}}(a,1)$ and $a^{\star}=\text{add}_{\text{Adr}}(a,\text{bin}_8(2))$. How can we do that? I haven't really understood the function $\text{add}$... (Wondering)
 

Attachments

  • queue.PNG
    queue.PNG
    25.5 KB · Views: 83
Physics news on Phys.org
  • #2
mathmari said:
For that we have to compute the $a'=\text{add}_{\text{Adr}}(a,1)$ and $a^{\star}=\text{add}_{\text{Adr}}(a,\text{bin}_8(2))$. How can we do that? I haven't really understood the function $\text{add}$... (Wondering)

We have that $a'=\text{add}_{\text{Adr}}(a,1)=\text{bin}_{32}(1)$ and $a^{\star}=\text{add}_{\text{Adr}}(a,\text{bin}_8(2))=\text{bin}_{32}(2)$, right?
 
Last edited by a moderator:
  • #3
I want to define inductively, using only $\text{add}_{\text{Val}}$, is_empty, dequeue and first, a function sum: Mem × Adr → Val such that for each memory m ∈ Mem and each address a ∈ Adr it holds that sum(m, a) is in the binary system the sum modulo $2^8$ of all values, expressed in binary system of numbers, in the queue at a in m, where the empty sum is 0.

Does this mean that $\text{sum}(m,a)=\text{bin}_8( (m+a) \mod 2^8)$ ? (Wondering)
 

FAQ: How can we apply the functions?

What are the main functions that we can apply in science?

The main functions that are applied in science include observation, experimentation, data collection and analysis, hypothesis generation and testing, and communication of results.

How can we use functions to solve scientific problems?

Functions are used in science to systematically approach a problem by breaking it down into smaller, more manageable parts. This allows for a more thorough and accurate understanding of the problem and potential solutions.

Can functions help in the prediction of scientific outcomes?

Yes, functions can be used to predict outcomes in science by using mathematical models to make educated guesses about future events based on past data and observations.

How do scientists determine which functions to use for a specific research question?

Scientists determine which functions to use based on the specific research question and the type of data that needs to be collected and analyzed. They also consider the limitations and strengths of different functions in relation to their research question.

Are there any ethical considerations when applying functions in science?

Yes, there are ethical considerations when applying functions in science, such as ensuring the well-being of research participants, using unbiased and accurate methods, and properly citing and giving credit to sources. Scientists must also consider the potential impact of their research on society and the environment.

Similar threads

Replies
2
Views
2K
Replies
4
Views
4K
2
Replies
42
Views
8K
Replies
1
Views
2K
Replies
28
Views
5K
4
Replies
121
Views
20K
Back
Top