What Automata Accepts Binary Numbers Divisible by $2 ^ k$?

  • Context: MHB 
  • Thread starter Thread starter mathmari
  • Start date Start date
  • Tags Tags
    Automata
Click For Summary

Discussion Overview

The discussion revolves around the definition of a finite automaton (FA) that accepts binary numbers divisible by \(2^k\) for all \(k \in \mathbb{N} \setminus \{0\}\). Participants explore the implications of the problem statement, the characteristics of such automata, and the terminology used in the context of finite state machines.

Discussion Character

  • Exploratory
  • Debate/contested
  • Technical explanation
  • Meta-discussion

Main Points Raised

  • Some participants question the clarity of the problem statement, suggesting it may be a trick question since any non-zero number \(n\) will have a \(k\) such that \(2^k > n\), leading to a remainder when divided by \(2^k\).
  • Others propose that only numbers of the form \(0+\) would qualify as divisible by \(2^k\) for all \(k\).
  • One participant presents a table of binary representations and discusses the conditions under which a binary number is divisible by \(2\\), noting that a DFA could be constructed to accept such numbers.
  • Another participant points out that the original problem requires divisibility by higher powers of \(2\) (e.g., \(4, 8, 16\)), suggesting that the DFA would need modification to only accept strings of one or more zeroes.
  • Terminology regarding finite automata and finite state machines is discussed, with some participants noting that both terms are used interchangeably, while others express confusion about any potential changes in terminology.
  • References to textbooks and Wikipedia clarify that both terms have been used historically, and there is no indication of a recent trend favoring one over the other.

Areas of Agreement / Disagreement

Participants express differing views on the interpretation of the problem statement and the characteristics of the required automaton. There is no consensus on the correct approach to defining the FA or the terminology used.

Contextual Notes

The discussion highlights the ambiguity in the problem statement and the assumptions regarding divisibility. The need for clarity in definitions and the implications of the requirements for the automaton are noted but remain unresolved.

Who May Find This Useful

Readers interested in automata theory, finite state machines, and the nuances of computational terminology may find this discussion relevant.

mathmari
Gold Member
MHB
Messages
4,984
Reaction score
7
Hey! :o

"Give the definition of a FA (without a graphical representation), which accepts binary numbers $n$ which are without remainder divisible by $2 ^ k$ for all $k \in \mathbb{N} \setminus \{0\}$."

Could you help me understanding which automata is meant?
 
Technology news on Phys.org
mathmari said:
Hey! :o

"Give the definition of a FA (without a graphical representation), which accepts binary numbers $n$ which are without remainder divisible by $2 ^ k$ for all $k \in \mathbb{N} \setminus \{0\}$."

Could you help me understanding which automata is meant?

Hi! :)

That looks a bit like a trick question, or else it is worded badly.
Is that the literal problem statement?

Whichever number $n \ne 0$ you pick, there will always be a $k$ such that $2^k > n$.
If we divide that $n$ by $2^k$ the remainder is $n$, so $n$ does not qualify.

Taken literally, only numbers of the form $0+$ qualify.
 
I looked again the exercise and thought the following:

$\begin{matrix}
Dual & Binary \\
0 & 000000 \\
1 & 000001 \\
2 & 000010 \\
3 & 000011 \\
4 & 000100 \\
5 & 000101 \\
6 & 000110 \\
7 & 000111 \\
8 & 001000 \\
9 & 001001 \\
10 & 001010 \\
... & ...
\end{matrix}$

Each number is divible by $2$ if the remainder of the division by $2$ is $0$.
The possible remainders of the division by $2$ are: $0,1$.

$\begin{matrix}
0 \overset{0}{\rightarrow}00( \text{ The rest is 0})\\
0 \overset{1}{\rightarrow}01( \text{ The rest is 1})\\
\\
01 \overset{0}{\rightarrow}010( \text{ The rest is 0})\\
01 \overset{1}{\rightarrow}011( \text{ The rest is 1})\\
\\
011 \overset{0}{\rightarrow}0110( \text{ The rest is 0})\\
011 \overset{1}{\rightarrow}0111( \text{ The rest is 1})\\
\\

\end{matrix}$

So the DFA is the following:
View attachment 2250

Is this correct?
 

Attachments

  • mod.png
    mod.png
    2.7 KB · Views: 118
mathmari said:
I looked again the exercise and thought the following:

$\begin{matrix}
Dual & Binary \\
0 & 000000 \\
1 & 000001 \\
2 & 000010 \\
3 & 000011 \\
4 & 000100 \\
5 & 000101 \\
6 & 000110 \\
7 & 000111 \\
8 & 001000 \\
9 & 001001 \\
10 & 001010 \\
... & ...
\end{matrix}$

Each number is divible by $2$ if the remainder of the division by $2$ is $0$.
The possible remainders of the division by $2$ are: $0,1$.

$\begin{matrix}
0 \overset{0}{\rightarrow}00( \text{ The rest is 0})\\
0 \overset{1}{\rightarrow}01( \text{ The rest is 1})\\
\\
01 \overset{0}{\rightarrow}010( \text{ The rest is 0})\\
01 \overset{1}{\rightarrow}011( \text{ The rest is 1})\\
\\
011 \overset{0}{\rightarrow}0110( \text{ The rest is 0})\\
011 \overset{1}{\rightarrow}0111( \text{ The rest is 1})\\
\\

\end{matrix}$

So the DFA is the following:
https://www.physicsforums.com/attachments/2250

Is this correct?

Your DFA would properly accept a binary number that has no remainder when divided by 2. (Emo)

However, the problem statement requires that the binary number should also have no remainder when divided by 4.
Nor when divided by 8, 16, 32, ... ad infinitum.
I do see that your DFA could be modified to allow for that.
Effectively it would only accept a string of 1 or more zeroes.

Btw, the problem statement asks for an FA without graphical presentation. So it should be in the form of a set of rules together with their context.
 
Terminology change?

I am familiar with the term Finite State Machine, it seems that FA (Finite Automaton) means the same thing. I had not heard the term Finite Automaton before. Has the terminology changed, is the term FA now preferred over the term FSM; if so, what is a Turing Machine now called?
 
The books "Elements of the Theory of Computation" by Lewis and Papadimitriou and "Introduction to the Theory of Computation" by Sipser use the term "finite automaton", though they say that "finite state machine" is a synonym. The Wikipedia page is called "Finite-state machine", but it also mentions automata. I don't think either term is a new trend. Turing machines are still Turing machines.
 
Well, I guess that "new" is relative. My knowledge is 30 years old. At least they haven't started calling a "Turing Machine" a "Turing Automaton"; next we would have to change "Association for Computing Machinery" to "Association for Computing Automatons".
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
1K
  • · Replies 17 ·
Replies
17
Views
2K
  • · Replies 15 ·
Replies
15
Views
4K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 22 ·
Replies
22
Views
3K
Replies
17
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
Replies
25
Views
4K
Replies
4
Views
2K
Replies
31
Views
4K